UUOCON page# 0001 next
2:
3:
4:
5:
6:
7:
8:
9:
10:
11:
12:
13:
14:
15:
16:
17:
18:
19:
20:
21:
22:
23:
24:
25:
26:
27:
28:
29:
30:
31:
32:
33:
34:
35:
36:
37:
38:
39:
40:
41:
42:
43:
44:
45:
46:
47:
48:
49:
50:
51:
52:
53:
54:
55:
56:
57:
58:
59:
60:
61:
62:
63:
64:
65:
66:
67:
68:
69:
70:
71:
72:
73:
74:
75:
76:
77:
78:
79:
80:
81:
82:
83:
84:
85:
86:
87:
88:
89:
90:
91:
92:
93:
94:
95:
96:
97:
98:
99:
100:
101:
102:
103:
104:
105:
106:
107:
108:
109:
110:
111:
112:
113:
114:
115:
116:
117:
118:
119:
120:
121:
122:
123:
124:
125:
126:
127:
128:
129:
130:
131:
132:
133:
134:
135:
136:
137:
138:
139:
140:
141:
142:
143:
144:
145:
146:
147:
148:
149:
150:
151:
152:
153:
154:
UUOCON page# 0002 next prev
156: SUBTTL UUOCON NON-IO SECTION
157:
158:
159:
160:
161:
162:
163:
164:
165:
166:
167:
168:
169:
170:
171:
172:
173:
174:
175:
176:
177:
178:
179:
180:
181:
182:
183:
184:
185:
186:
187:
UUOCON page# 0003 next prev
189:
190:
191: ↑UUO1: MOVEM 17,UUO.SA+17
192: MOVEI 17,UUO.SA
193: BLT 17,UUO.SA+16
194: MOVE 17,UUO.SA+17
195: CONSO PI,177⊗8
196: JRST NOPCK
197: EXCH TAC,UUO0+P1PID
198: TLNN TAC,USRMOD
199: JRST UUOX
200: EXCH TAC,UUO0+P1PID
201: NOPCK: SKIPN SPWUUF
202: JRST UUO1B
203: MOVEM 17,SPWSAC+17
204: MOVEI 17,SPWSAC
205: BLT 17,SPWSAC+16
206: MOVEI PID,P1PID
207: JRST SPWUUO
208:
209: UUO1B: MOVEM 17,USRSAV+P1PID
210: MOVE 17,UUO0+P1PID
211: TLNE 17,USRMOD
212: JRST UUO1A
213: MOVE DAT,UUO0+P1PID
214: MOVEI PID,P1PID
215: MOVE UUO,@UUOLOC(PID)
216: MOVE J,JOB(PID)
217: JRST UUOSY1
218:
219: ↑UUO1A: SKIPE 17,JOBADR+P1PID
220: JRST UUOSYS
221: MOVEI PID,P1PID
222: JRST NULJB
223:
224: ↑UUO3: EXCH TAC,UUO2+P1PID
225: IFN FTXCTR,<
226: TLNN TAC,USRMOD
227: JRST PGRSM ;SIMULATE XCTRS
228: ↑UUO3A:>
229: MOVEM TAC,UUO0+P1PID
230: MOVE TAC,UUO2+P1PID
231: SETZM @UUOLOC+P1PID
232: JRST UUO1
UUOCON page# 0004 next prev
234:
235:
236: ↑P2UUO1:
237: CONSO PI,177⊗8
238: JRST P2NOPCK
239: EXCH TAC,UUO0+P2PID
240: TLNN TAC,USRMOD
241: JRST P2UUOX
242: EXCH TAC,UUO0+P2PID
243: P2NOPCK:SKIPN SPWUUF+P2PID
244: JRST P2UU1B
245: MOVEM 17,SP2SAC+17
246: MOVEI 17,SP2SAC
247: BLT 17,SP2SAC+16
248: MOVEI PID,P2PID
249: JRST SPWUUO
250:
251: P2UU1B: MOVEM 17,USRSAV+P2PID
252: MOVE 17,UUO0+P2PID
253: TLNE 17,USRMOD
254: JRST P2UU1A
255: MOVE DAT,UUO0+P2PID
256: MOVEI PID,P2PID
257: MOVE UUO,@UUOLOC(PID)
258: MOVE J,JOB(PID)
259: JRST UUOSY1
260:
261: ↑P2UU1A:
262: SKIPE 17,JOBADR+P2PID
263: JRST U2OSYS
264: MOVEI PID,P2PID
265: JRST NULJB
266:
267: ↑P2UUO3:
268: EXCH TAC,UUO2+P2PID
269: MOVEM TAC,UUO0+P2PID
270: MOVE TAC,UUO2+P2PID
271: SETZM @UUOLOC+P2PID
272: JRST P2UUO1
UUOCON page# 0005 next prev
274:
275:
276:
277: UUOX: EXCH TAC,UUO0+P1PID
278: CONO PI,PIOFF
279: EXCH P,ERRPD+P1PID
280: PUSHACS
281: MOVEI PID,P1PID
282: JRST UUOX1
283:
284: P2UUOX: EXCH TAC,UUO0+P2PID
285: CONO PI,PIOFF
286: EXCH P,ERRPD+P2PID
287: PUSHACS
288: MOVEI PID,P2PID
289: UUOX1: SOS UUO0(PID)
290: PUSHJ P,DISMES
291: ASCIZ /ILLEGAL UUO FROM EXEC WHILE PI IN PROGRESS
292: PI = /
293: CONI PI,TAC
294: PUSHJ P,DISLOC
295: PUSHJ P,DISERR
296: [ASCIZ/
297: P = /]
298: DISARG OCT,<ERRPD(PID)>
299: [ASCIZ/ C(P) = /]
300: -1
301: HRRZ TAC,ERRPD(PID)
302: MOVE TAC,(TAC)
303: PUSHJ P,DISOCT
304: PUSHJ P,DISERR
305: [ASCIZ/
306: PC = /]
307: DISARG OCT,<UUO0(PID)>
308: [ASCIZ/ UUO = /]
309: DISARG OCT,<@UUOLOC(PID)>
310: [ASCIZ/
311: (WILL RETURN VIA JRST 2,@UUO0)
312: /]
313: -1
314: PUSHJ P,SYSFIX
315: JFCL
316: CAIA
317: JRST UUOX2
318: PUSHJ P,DISFLUSH
319: PUSHJ P,DDTCALL
320: UUOX2: JUMPN PID,P2UUX2
321: POPACS
322: EXCH P,ERRPD(PID)
323: CONO PI,PION
324: JRST 2,@UUO0+P1PID
325:
326: P2UUX2: POPACS
327: EXCH P,ERRPD(PID)
328: CONO PI,PION
329: JRST 2,@UUO0+P2PID
UUOCON page# 0006 next prev
331:
332:
333: U2OSYS: MOVEM 16,16(17)
334: MOVEI 16,(17)
335: BLT 16,15(17)
336: MOVE TAC,USRSAV+P2PID
337: MOVEM TAC,17(17)
338: MOVEI PID,P2PID
339: JRST UUOSY2
340:
341: UUOSYS: MOVEM 16,16(17)
342: MOVEI 16,(17)
343: BLT 16,15(17)
344: MOVE TAC,USRSAV+P1PID
345: MOVEM TAC,17(17)
346: MOVEI PID,P1PID
347: UUOSY2: MOVE PROG,17
348: IFN JDMPRG,<
349: MOVE JDAT,JOBDAT(PID)
350: >
351: MOVE J,JOB(PID)
352: MOVE DAT,UUO0(PID)
353: MOVE UUO,@UUOLOC(PID)
354: SKIPE INTACT(PID)
355: SKIPA P,INTSP(PID)
356: JSP TAC,GETPDL
UUOCON page# 0007 next prev
358:
359:
360: ↑UUOSY1:EXCH DAT,UUOPC(J)
361: MOVEM DAT,UUOOPC(J)
362: SKIPE DAT,UUOPTR(J)
363: JRST UUOSY4
364: UUOSY3: TLNN UUO,740000
365: ILEGAL: JRST UUOERR
366: TLO UUO,PROG
367: LDB UCHN,PUUOAC
368: LDB TAC1,[POINT 9,UUO,8]
369: XORI TAC1,700
370: TRCN TAC1,700
371: JRST UUOIOT
372: CAIL TAC1,100
373: JRST ILLINS
374: PUSHJ P,CHNSET
375: JRST USRXIT
376: JRST USRXT1
377: ROT TAC1,-1
378: MOVE DAT,UUOTAB-20(TAC1)
379: DISP4: TLNN TAC1,400000
380: MOVS DAT,DAT
381: AOS NUUOS
382: PUSHJ P,(DAT)
383:
384: USRXT0:
385: JRST USRXIT
386: JRST USRXT1
387: MOVE J,JOB(PID)
388: AOSA UUOPC(J)
389: USRXT1: MOVE J,JOB(PID)
390: AOS UUOPC(J)
UUOCON page# 0008 next prev
392:
393:
394:
395: ↑USRXIT:MOVE J,JOB(PID)
396: SKIPN SPWUUF(PID)
397: JRST USRXT6
398: MOVE TAC,UUOPC(ITEM)
399: POP P,UUOPC(J)
400: MOVEM TAC,UUO0(PID)
401: JUMPE PID,USRXT7
402: MOVSI 17,SP2SAC
403: BLT 17,17
404: XCT SPWXCT+P2PID
405:
406: USRXT7: MOVSI 17,SPWSAC
407: BLT 17,17
408: XCT SPWXCT
409:
410: USRXT6: SKIPE INTACT(PID)
411: JRST USRXT4
412: SKIPL TAC,JBTSTS(J)
413: JRST USRXT9
414: TLNE TAC,STOPIO
415: USRXT2: PUSHJ P,USRXTS
416: MOVSI UCHN,INTWAIT
417: TDNN UCHN,JBTIEN(J)
418: JRST USRXT4
419: SETOM INTHLD(PID)
420: IORM UCHN,JBTIRQ(J)
421: SETZM INTHLD(PID)
422: SETOM INTREQ(PID)
423: USRX4A: PUSHJ P,USRXTS
424: USRXT4: MOVEI DAT,USRXT5
425: EXCH DAT,UUOPC(J)
426: TLNN DAT,USRMOD
427: JUMPN DAT,@DAT
428: REPEAT 0,<
429: MOVSI AC1,RUN2
430: SKIPN PID
431: MOVSI AC1,RUN1
432: TDNN AC1,JB2STS(J)
433: PUSHJ P,PSWITCH
434: >
UUOCON page# 0009 next prev
436:
437:
438: MOVEM DAT,UUO0(PID)
439: MOVE JDAT,JBTADR(J)
440: MOVSI 17,JOBAC(PROG)
441: JUMPE PID,USRXT8
442: BLT 17,17
443: XCT UUOXIT+P2PID
444: SETOM CLKFLG+P2PID
445: SETOM SCHEDF+P2PID
446: CONO PI,PION!4000!<200⊗-CLKCHN>
447: CONSO PI,77000
448: JRST CL2IN0
449: JRST 10,.-2
450:
451: USRXT8: BLT 17,17
452:
453:
454:
455:
456: XCT UUOXIT
457: SETOM CLKFLG
458: SETOM SCHEDF
459: CONO PI,PION!4000!<200⊗-CLKCHN>
460: CONSO PI,77000
461: JRST CLKIN0
462: JRST 10,.-2
463:
464:
465:
466: USRXTS: MOVE TAC,[CONO PI,PIOFF]
467: MOVEM TAC,UUOXIT(PID)
468: POPJ P,
469:
470:
471: USRXT9: MOVNI TAC,STOPQ
472: MOVEM TAC,JOBQUE(J)
473: JRST USRXT2
474:
475: USRXT5:
476: CONO PI,PIOFF
477: SETOM DISFLAG
478: PUSHJ P,DISMES
479: ASCIZ /πππππEXITING UUOCON WITHOUT HAVING ENTERED UUOCON
480: /
481: PUSHJ P,DISFLUSH
482: JRST AUTOLOAD
UUOCON page# 0010 next prev
484:
485:
486:
487:
488:
489:
490:
491:
492:
493:
494:
495:
496:
497:
498: UUOSY4: SKIPE INTACT(PID)
499: ADDI DAT,3
500: SKIPE SPWUUF(PID)
501: ADDI DAT,6
502: XCTR XR,[SKIPN 1(DAT)]
503: XCTR XR,[SKIPN TAC,2(DAT)]
504: JRST UUOSY3
505: XCTR XW,[MOVEM UUO,1(DAT)]
506: TLO TAC,USRMOD
507: EXCH TAC,UUOPC(J)
508: XCTR XW,[MOVEM TAC,(DAT)]
509: JRST USRXIT
510:
511: ↑SPWBLK←←6
512:
513:
514:
515:
516:
517:
518: UUOSIM: MOVEM TAC,UUOPTR(J)
519: POPJ P,
UUOCON page# 0011 next prev
521:
522:
523: CHNSET: POP P,DAT
524: SKIPE DDB,USRJDA(UCHN)
525: CAMLE UCHN,USRHCU(PID)
526:
527: JRST NOCHAN
528: CHNSE1: MOVE IOS,DEVIOS(DDB)
529: MOVE DSER,DEVSER(DDB)
530: CAIL TAC1,LNGUUO
531: JRST CHNSE3
532: JRST 2(DAT)
533:
534: NOCHAN: MOVE TAC,UUOPC(J)
535: CAIGE TAC1,IOUUO
536: JRST CHNSE2
537: REPEAT 0,<
538: PUSHJ P,GOTOP1 ;ALL IO DONE FROM P1
539: >
540: TLNN TAC,USRMOD
541: JRST CHNSE1
542: CAIE TAC1,70
543: CAIN TAC1,71
544: JRST (DAT)
545: JRST IOIERR
546:
547: CHNSE2: MOVEI DEVDAT,0
548: JRST 2(DAT)
549:
550: CHNSE3: MOVE TAC,DEVMOD(DEVDAT)
551: TLNE TAC,DVLNG
552: JRST 2(DAT)
553: CAIGE TAC1,76
554: JRST (DAT)
555: JRST 1(DAT)
UUOCON page# 0012 next prev
557:
558:
559:
560:
561:
562:
563:
564:
565: DEFINE UUOS{FOR X IN(CALL,INIT,,SPCWAR,,,,<CALLI>
566: ,OPEN,<TTYUUO,TTYUUO>,,,,RENAME,<IN,TIN>,<OUT,TOUT>
567: ,<SETSTS,SETIOS>,STATO,<GETSTS,USTATS>,<STATZ>
568: ,<INBUF,UINBF>,<OUTBUF,UOUTBF>,<INPUT,IN>,<OUTPUT,UOUT>
569: ,<CLOSE,CLOSE1>,<RELEAS,RELEA1>,MTAPE,<UGETF,UDGF>
570: ,<USETI,UDSI>,<USETO,UDSO>,<LOOKUP,UDLK>,<ENTER,UDEN>)}
571:
572: DEFINE UUOADR(C,A,B)
573: {IFE UUOPHZ,<DEFINE UUOAD1<0,A,B>
574: UUOPHZ←←1-UUOPHZ}
575:
576: DEFINE UUOAD2!(C,X,A,B)
577: {IFIDN <A!B><><UUOERR+>IFDIF <B><><B+>IFDIF <A><><IFIDN <B><><C!A+>>0}
578:
579: UUOPHZ←←0
580: UUOTAB: UUOS
581: { UUOADR U,X
582: }
583: XP IOUUO,55
584: XP LNGUUO,72
UUOCON page# 0013 next prev
586:
587:
588: UUOIOT: SUBI TAC1,700
589: CAIL TAC1,2*IUUMAX
590: JRST ILLINS
591: AOS NIOTS
592: ROT TAC1,-1
593: MOVE DAT,IUUTAB(TAC1)
594: MOVEI DEVDAT,[SIXBIT /GARPLY/]
595: AOS NNUUOS
596: JRST DISP4
597:
598: DEFINE IUUOS{FOR X IN(<,CPOPJ>,DPYCLR,PPIOT,<UPGIOT>
599: ,<UINBF,MINBF>,<UOUTBF,MOUTBF>,<FBREAD,UFBRD>,<FBWRT,UFBWRT>
600: ,<MAIL,UMAIL>,PTYUUO,POINTS,<UPGMVE,UPGMOV>
601: ,UPGMVM,PGIOT,CHNSTS,<CLKINT,CLKUUO>
602: ,INTMSK,IMSKST,IMSKCL,INTUUO,IOPUSH,IOPOP,IOPDL)}
603:
604: UUOPHZ←←0
605: IUUTAB: IUUOS
606: { UUOADR ,X
607: }
608: IFN UUOPHZ,<UUOADR>
609: IUUMAX←←.-IUUTAB
610:
611:
612:
613: IFE UUOPHZ,<IUUMAX*2,,UUOFLK
614: ↑UUONAM:UUOS
615: { <SIXBIT ,X,>
616: } IUUOS
617: { <SIXBIT ,X,>
618: }
UUOCON page# 0014 next prev
620:
621:
622:
623:
624:
625:
626:
627:
628:
629:
630:
631:
632: UCALL:
633: XCTR XR,[MOVE DAT,(UUO)]
634: MOVSI TAC1,-UCLLEN
635: CAME DAT,UCLTAB(TAC1)
636: AOBJN TAC1,.-1
637: TLZN TAC1,-1
638: JRST UUOERR
639: JRST UCALL1
640:
641:
642:
643:
644:
645:
646:
647: ↑UCALLI:
648: HRRZ TAC1,UUO
649: CAIL TAC1,UCLDLN
650: JRST UCALL2
651: UCALL1: POP P,TAC
652: HRR UUO,UCHN
653: XCTR XR,[MOVE TAC,(UUO)]
654: ROT TAC1,-1
655: MOVE DAT,UCLJMP(TAC1)
656: MOVE J,JOB(PID)
657: JRST DISP4
658:
659: UCALL2: TRZN UUO,400000
660: JRST UUOERR
661: MOVEI TAC1,UCLDLN(UUO)
662: CAIL TAC1,UCLDLN
663: CAIL TAC1,UCLLEN
664: JRST UUOERR
665: AOS NSCALL
666: JRST UCALL1
UUOCON page# 0015 next prev
668:
669:
670:
671:
672:
673:
674: DEFINE NAMES!,<
675: X RESET,RESETUUO
676: X DDTIN,DDTIN
677: X SETDDT,SETDDT
678: X DDTOUT,DDTOUT
679: X DEVCHR,DVCHR
680: X DDTGT,CPOPJ
681: X GETCHR,DVCHR
682: X DDTRL,CPOPJ
683:
684: X WAIT,WAIT
685: X CORE,CORUUO
686: X EXIT,EXIT
687: X UTPCLR,UTPCLR
688: X DATE,DATE
689: X LOGIN,LOGIN
690: X APRENB,APRENB
691: X LOGOUT,LOGOUT
692:
693: X SWITCH,SWITCH
694: X REASSIGN,REASSIGN
695: X TIMER,TIMER
696: X MSTIME,MSTIME
697: X GETPPN,GETPPN
698: X <>,UUOERR
699: X <>,UUOERR
700: X RUNTIM,JOBTIM
701:
702: X PJOB,JOBNO
703: X SLEEP,SLEEP
704: X SETPOV,SETPOV
705: X PEEK,PEEK
706: X GETLN,GETLN
707: X RUN,RUNUUO
708: X SETUWP,SETUWP
709: X REMAP,REMAP
710:
711: X GETSEG,CPOPJ
712: X GETTAB,CPOPJ
713: X <>,UUOERR
714: X SETNAM,SETNAM
715: X TMPCOR,TMPCOR
716: X <>,UUOERR
717: >
UUOCON page# 0016 next prev
719:
720:
721: DEFINE STANFORD <
722: X SPWBUT,SPCWAR
723: X CTLV,CTLV
724: X <>,SETNAM
725: X SPCWGO,SPCWGO
726: X SWAP,SYSRJB
727: X EIOTM,EIOTM
728: X LIOTM,LIOTM
729: X PNAME,PNAME
730: X UFBGET,UFBGET
731: X UFBGIV,UFBGIV
732: X UFBCLR,FBFLUSH
733: X JBTSTS,USTAT
734: X TTYIOS,TTYIOS
735: X CORE2,CORE2
736: X ATTSEG,ATTSEG
737: X DETSEG,DETSEG
738: X SETPRO,SETPRO
739: X SEGNUM,SEGNUM
740: X SEGSIZ,SEGSIZ
741: X LINKUP,LINKUP
742: X DISMIS,DISMIS
743: X INTENB,INTENB
744: X INTORM,INTORM
745: X INTACM,INTACM
746: X INTENS,INTENS
747: X INTIIP,INTIIP
748: X INTIRQ,INTIRQ
749: X INTGEN,INTGEN
750: X UWAIT,UWAIT
751: X DEBREAK,DEBREAK
752: X SETNM2,SETNM2
753: X SEGNAM,SEGNAM
754: X IWAIT,IWAIT
755: X USKIP,USKIP
756: X BUFLEN,BUFLEN
757: X NAMEIN,NAMEIN
758: X SLEVEL,SETLVL
759: X IENBW,IENBW
760: X RUNMSK,RUNMSK
761: X TTYMES,TTYMES
762: X JOBRD,JOBRD
763: X DEVUSE,DEVUSE
764: X SETPR2,SETPR2
765: X GETPR2,PR2GET
766: X RLEVEL,RLEVEL
767: X UFBPHY,FBPHY
768: X UFBSKP,FBSKP
769: X FBWAIT,FBWT
770: X UFBERR,FBERR
771: X WAKEME,WAKEME
772: X GETNAM,GETNAM
773: X SNEAKW,SNEAKW
774: X SNEAKS,SNEAKS
775: X GDPTIM,GDPTIM
776: X SETPRV,SETPRV
777: X DDCHAN,DDCHAN
778: X VDSMAP,VDSMAP
779: X DSKPPN,UDSKPPN
780: X DSKTIM,DSKTIM
781: X SETCRD,SETCRD
782: X CALLIT,CALLIT
783: X XGPUUO,XGPUUO
784: X LOCK,LOCK
785: X UNLOCK,UNLOCK
786: X DAYCNT,DAYCT
787: X ACCTIM,ACCTIM
788: X UNPURE,UNPURE
789: X TMPCRD,TMPCRD
790: X DEVNUM,DEVNUM
791: X ACTCHR,ACTCHR
792: X UUOSIM,UUOSIM
793: X PPSPY,PPSPY
794: X ADSMAP,ADSMAP
795: X BEEP,BEEP
796: X WHO,WHOUUO
797: X TTYJOB,TTYJNO
798: X (,UUOERR)
799: X GETPRV,GETPRV
800: X TTYSKP,TTYSKP
801: X DIAL,DIAL
802: >
803:
UUOCON page# 0017 next prev
805:
806:
807: DEFINE X! (A,B)
808: <
809: <SIXBIT /A/>
810: >
811: ↑UCLTAB:
812: XLIST
813: NAMES
814: XP UCLDLN,.-UCLTAB
815: STANFORD
816: LIST
817: XP UCLLEN,.-UCLTAB
818: UUONAM
819:
820: DEFINE X!(A,B)
821: <IFE ZZ/2*2-ZZ,<DEFINE ZZZ<B>>
822: IFN ZZ/2*2-ZZ,<XWD ZZZ,B>
823: ZZ←←ZZ+1
824: >
825:
826: ZZ←←0
827:
828: UCLJMP:
829: XLIST
830: NAMES
831: STANFORD
832: LIST
833:
834: IFN ZZ/2*2-ZZ,<XWD ZZZ,0>
UUOCON page# 0018 next prev
836:
837:
838:
839:
840:
841: EXIT: MOVE TAC,JBTSTS(J)
842: HRRE TAC1,JBTLIN(J)
843: JUMPL TAC1,EXIT1
844: TLNN TAC,JLOG
845: JRST EXIT1
846: JUMPN UCHN,EXIT2
847: PUSHJ P,IORELS
848: PUSHJ P,RESETB
849: PUSHJ P,TTYFUW
850:
851:
852: SETZM JOBOPC(PROG)
853: SETZM UUOPC(J)
854: SETZM UUOOPC(J)
855:
856:
857: JSP TAC,PHOLD
858:
859: ASCIZ /
860: EXIT/
861:
862: EXIT1: PUSHJ P,IORELS
863: PUSHJ P,KILSPW
864: IFN FTSWAP,< JRST JOBKL >
865: IFE FTSWAP,< JRST ESTOP >
866:
867:
868: EXIT2: PUSHJ P,KILSPW
869: PUSHJ P,TTYFUW
870: PUSHJ P,PRCRCC
871: PUSHJ P,TTYSTC
872: JRST STOP1
UUOCON page# 0019 next prev
874:
875:
876:
877:
878:
879: SETPOV: MOVEM TAC,JOBAPR(JDAT)
880: MOVEI TAC,1B19
881: JRST APRENB
882:
UUOCON page# 0020 next prev
884:
885:
886: ↑RESET: PUSHJ P,RESETSEG
887: RESETUUO:
888: SKIPE SPWUUF(PID)
889: JRST SPWERR
890: SKIPN INTACT(PID)
891: JRST RESETA
892: JSP TAC,UUOMES
893: ASCIZ /RESET CALLED FROM I-LEVEL, OR SPACEWAR LEVEL
894: UUO/
895:
896: RESETA: PUSHJ P,IOKILL
897: RESETB: PUSHJ P,INTKILL
898: PUSHJ P,UNLOCK
899: SKIPE TAC,JBTPR2(J)
900: TRNE TAC,2
901: JRST NOPR2
902: SETZM JBTPR2(J)
903: PUSHJ P,GETPR
904: DATAO APR,TAC
905: NOPR2:
906: MOVE J,JOB(PID)
907: SKIPE AC1,JBTFS(J)
908: PUSHJ P,FSGIVE
909: SETZM JBTFS(J)
910: PUSHJ P,KILSPW
911: IFN FTSWAP,<
912: PUSHJ P,FBFLUSH
913: >
914: SETZM TAC
915: PUSHJ P,APRENB
916: SKIPE AC1,JBTMAIL(J)
917: PUSHJ P,FSGIVE
918: SETZM JBTMAIL(J)
919: PUSHJ P,PTYCLR
920: MOVSI TAC,(J)
921: PUSHJ P,DDAREL
922: PUSHJ P,ADSRES
923: MOVE AC1,JBTLIN(J)
924: CAME AC1,[-1]
925: TLNN AC1,DISLIN!DDDLIN
926: POPJ P,
927: JRST DPYRST
UUOCON page# 0021 next prev
929:
930:
931: RESETSEG:
932: PUSH P,TAC
933: PUSH P,AC1
934: PUSH P,TAC1
935: PUSH P,DDB
936: PUSHJ P,FLUSHSEG
937: CAME ITEM,JOB(PID)
938: JRST RESTG1
939: PUSHJ P,GETPR
940: DATAO APR,TAC
941: RESTG1: POP P,DDB
942: POP P,TAC1
943: POP P,AC1
944: POP P,TAC
945: POPJ P,
UUOCON page# 0022 next prev
947:
948:
949: APRDKL: JUMPN PID,CPOPJ
950: PUSH P,TAC1
951: CONI PI,TAC1
952: ANDI TAC1,APROFF-1000
953: CONO PI,APROFF
954: SKIPE TAC,APRLST
955: APRDK3: SKIPN AC1,(TAC)
956: JRST APRDK1
957: CAIN J,(AC1)
958: JRST APRDK2
959: ADDI TAC,2
960: JRST APRDK3
961:
962: APRDK2: PUSHJ P,APRDEL
963: JFCL
964: APRDK1: CONO PI,2000(TAC1)
965: POP P,TAC1
966: POPJ P,
UUOCON page# 0023 next prev
968:
969:
970:
971:
972:
973:
974:
975:
976:
977:
978:
979:
980:
981:
982: CPUMSK←←1B18!1B19!1B22!1B23!1B29!1B32
983:
984: ↑APRENB:
985: ANDI TAC,CPUMSK!1000
986: MOVEM TAC,JOBENB(JDAT)
987: TDNE TAC,APRIN2(PID)
988: JRST INTLOS
989: IOR TAC,APRIN2(PID)
990: APREN2: HRRM TAC,APRIN1(PID)
991:
992: XORI TAC,1B29+1B32
993: ADDI TAC,330
994: ANDI TAC,660
995: CONO APR,APRCHN(TAC)
996: POPJ PDP,
UUOCON page# 0024 next prev
998:
999:
1000: JOBNO: MOVE TAC,ITEM
1001: JRST STOTAC
1002:
1003: DATE: MOVE TAC,THSDAT
1004: JRST STOTAC
1005:
1006:
1007: DAYCT: JUMPG TAC,.+2
1008: MOVE TAC,THSDAT
1009: PUSHJ P,DAYCNT
1010: JRST STOTAC
1011:
1012: ACCTIM: MOVE TAC,TIMDAT
1013: JRST STOTAC
1014:
1015: DSKTIM: PUSHJ P,DSKTM1
1016: XCTR XW,[MOVEM TAC1,(UUO)]
1017: POPJ P,
1018:
1019:
1020: JOBTIM: JUMPL TAC,RTZERO
1021: CAIL TAC,JOBN
1022: JRST RTZERO
1023: JUMPG TAC,.+2
1024: MOVEI TAC,(J)
1025: MOVE TAC,TTIME(TAC)
1026: JRST MST1
1027:
1028: TIMER: MOVE TAC,TIME
1029: JRST STOTAC
1030:
1031:
1032: MSTIME: MOVE TAC,TIME
1033: MST1: IMULI TAC,=1000
1034: IDIVI TAC,JIFSEC
1035: JRST STOTAC
UUOCON page# 0025 next prev
1037:
1038:
1039:
1040:
1041: ↑SLEEP:
1042: IMULI TAC,JIFSEC
1043: ↑SLEEPT:MOVSI TAC1,CLKR
1044: TDNE TAC1,JBTSTS(ITEM)
1045:
1046: JRST SETSLP
1047: TRNN TAC,7777
1048: SLEEP1: MOVEI TAC,1
1049: DPB ITEM,[POINT 6,TAC,23]
1050: HRLI TAC,WAKE
1051: CONO PI,PIOFF
1052: IDPB TAC,CLOCK
1053: CONO PI,PION
1054: JRST SETSLP
UUOCON page# 0026 next prev
1056:
1057:
1058: SWITCH: DATAI TAC
1059:
1060:
1061:
1062:
1063:
1064:
1065: ↑STOTAC:
1066: XCTR XW,[MOVEM TAC,(UUO)]
1067: POPJ P,
UUOCON page# 0027 next prev
1069:
1070:
1071: DVCHR: PUSHJ P,FNDDDB
1072: TDZA TAC,TAC
1073: SKIPA TAC,DEVMOD(DDB)
1074: JRST STOTAC
1075: TLNN TAC,DVUDP
1076: JRST DVCHR2
1077: LDB AC2,PUNIT
1078: MOVE TAC1,DKDBML(AC2)
1079: MOVE AC1,DEVNAM(DDB)
1080: DVCHR0: HLRZ TAC1,DEVSER(TAC1)
1081: CAME AC1,DEVNAM(TAC1)
1082: JRST DVCHR1
1083: IOR TAC,DEVMOD(DDB)
1084: JRST DVCHR0
1085:
1086: DVCHR1: SKIPL TAC1,UDPOWN-1(AC2)
1087: CAMN TAC1,JOB(PID)
1088: TLO TAC,DVAVAL
1089: JRST STOTAC
1090:
1091: DVCHR2: LDB TAC1,PJOBN
1092: CAME TAC1,JOB(PID)
1093: TDNN TAC,[XWD TTYATC,ASSCON+ASSPRG]
1094: TLO TAC,DVAVAL
1095: JRST STOTAC
1096:
1097: DEVNUM: PUSHJ P,FNDDDB
1098: POPJ P,
1099: LDB TAC,PUNIT
1100: AOS (P)
1101: JRST STOTAC
UUOCON page# 0028 next prev
1103:
1104:
1105:
1106:
1107:
1108:
1109:
1110:
1111:
1112:
1113:
1114:
1115:
1116: UDSKPPN:
1117: IFN FTDSKPPN,<
1118: CAMN TAC,[-1]
1119: AOJA TAC,RSTPPN
1120: TLNN TAC,-1
1121: JRST RTDSKPPN
1122: TRNN TAC,-1
1123: HRR TAC,PRJPRG(J)
1124: RSTPPN: CAMN TAC,PRJPRG(J)
1125: MOVEI TAC,0
1126: CAMN TAC,MFDENT
1127: POPJ P,
1128: CAME TAC,DSKPPN(J)
1129: SETZM JBTUFD(J)
1130: MOVEM TAC,DSKPPN(J)
1131: POPJ P,
1132:
1133: RTDSKPPN:
1134: JUMPN TAC,.+2
1135: MOVE TAC,J
1136: MOVSI TAC1,JNA
1137: CAIGE TAC,JOBN
1138: TDNN TAC1,JBTSTS(TAC)
1139: JRST RTZERO
1140: SKIPN TAC1,DSKPPN(TAC)
1141: MOVE TAC1,PRJPRG(TAC)
1142: >
1143: IFE FTDSKPPN,<
1144: MOVE TAC1,PRJPRG(J)
1145: >
1146: XCTR XW,[MOVEM TAC1,(UUO)]
1147: POPJ P,
1148:
1149: ↑RTZERO:MOVEI TAC,0
1150: JRST STOTAC
1151:
1152:
1153: GETPPN:
1154: IFE FTLOGIN,<
1155: JRST RTZERO
1156: >
1157: IFN FTLOGIN,<
1158: MOVSI TAC,JACCT
1159: TDNE TAC,JBTSTS(J)
1160: JRST GETPPL
1161: MOVE TAC,PRJPRG(J)
1162: JRST STOTAC
1163:
1164: GETPPL: SETZM JBTUFD(J)
1165: IFN FTDSKPPN,<
1166: SETZM DSKPPN(J)
1167: >
1168: MOVE TAC,DUMPPN
1169: EXCH TAC,PRJPRG(J)
1170: MOVEI TAC1,JOBN-1
1171: CAMN TAC,PRJPRG(TAC1)
1172: CAMN J,TAC1
1173: SOJG TAC1,.-2
1174: JUMPLE TAC1,STOTAC
1175: AOS (P)
1176: JRST STOTAC
UUOCON page# 0029 next prev
1178:
1179:
1180: SETNAM: MOVE J,JOB(PID)
1181: MOVEM TAC,JOBNAM(J)
1182: IFN FTSTAT,<PUSHJ P,NAMSTT>
1183: POPJ PDP,
1184:
1185:
1186:
1187: SETCRD: TLZE TAC,400000
1188: JRST SETCD2
1189: SETCD1: MOVEM TAC,JOBCRD(J)
1190: TDNE TAC,[37,,-1]
1191: POPJ P,
1192: PUSHJ P,DSKTM1
1193: IORM TAC1,JOBCRD(J)
1194: POPJ P,
1195:
1196: SETCD2: PUSH P,J
1197: LDB J,PSEGN
1198: JUMPE J,TPOPJ
1199: MOVE AC1,TAC
1200: PUSHJ P,ACCESS
1201: JRST TPOPJ
1202: JRST TPOPJ
1203: SUB P,[1,,1]
1204: MOVE TAC,AC1
1205: JRST SETCD1
1206:
1207:
1208: SETDDT: MOVEM TAC,USRDDT(PID)
1209: POPJ P,
1210:
1211: GETNAM: JUMPLE TAC,GETNA1
1212: CAIL TAC,JOBN
1213: GETNA1: MOVE TAC,J
1214: MOVE TAC,JOBNAM(TAC)
1215: JRST STOTAC
UUOCON page# 0030 next prev
1217:
1218:
1219:
1220: WAIT: JUMPE DEVDAT,IOIERR
1221: JRST WAIT1
1222:
1223:
UUOCON page# 0031 next prev
1225: GETLN: PUSHJ PDP,TTYFND
1226: MOVE TAC,DEVNAM(DEVDAT)
1227: JRST STOTAC
UUOCON page# 0032 next prev
1229:
1230:
1231:
1232:
1233:
1234:
1235:
1236:
1237:
1238:
1239:
1240: ↑DATIME:
1241: MOVEI TAC1,1000
1242: DAT2: CONI PCLK,TEM
1243: DATAI PCLK,TAC
1244: JUMPG TAC,DAT1
1245: DAT2A: SOJG TAC1,DAT2
1246: POPJ PDP,
1247:
1248: DAT1: SUBI TAC,5004
1249: SUB TEM,[2020136700]
1250: LDB ITEM,[POINT 4,TEM,9]
1251: LDB DAT,[POINT 4,TAC,35]
1252: CAME DAT,ITEM
1253: JRST DAT2A
1254: TLNE TAC,200000
1255: POPJ PDP,
1256: LDB ITEM,[POINT 4,TAC,19]
1257: SUBI ITEM,4
1258: CAIL ITEM,=12
1259: POPJ PDP,
1260: IMULI ITEM,=31
1261: MOVEM ITEM,DAT
1262: LDB ITEM,[POINT 5,TAC,24]
1263: ADDM ITEM,DAT
UUOCON page# 0033 next prev
1265:
1266:
1267: LDB TAC1,[POINT 4,TAC,11]
1268: CAILE TAC1,=7
1269: POPJ PDP,
1270: IMULI TAC1,=10
1271: LDB ITEM,[POINT 4,TAC,15]
1272: CAILE ITEM,=9
1273: POPJ PDP,
1274: ADD ITEM,TAC1
1275: CAIG ITEM,=67
1276: POPJ PDP,
1277: SUBI ITEM,=64
1278: IMULI ITEM,=12*=31
1279: ADDM ITEM,DAT
1280: LDB TAC1,[POINT 5,TAC,29]
1281: CAIL TAC1,=24
1282: POPJ PDP,
1283: MOVE ITEM,TAC1
1284: IMULI ITEM,=60*=60*=60
1285: ANDI TAC,77
1286: CAIL TAC,=60
1287: POPJ PDP,
1288: IMULI TAC,=60*=60
1289: ADD ITEM,TAC
1290: LDB TAC,[POINT 6,TEM,15]
1291: CAIL TAC,=60
1292: POPJ PDP,
1293: IMULI TAC,=60
1294: ADD ITEM,TAC
1295: LDB TAC,[POINT 20,TEM,35]
1296: CAML TAC,[=1000000]
1297: POPJ PDP,
1298: IDIVI TAC,<=1000000/JIFSEC>
1299: ADD ITEM,TAC
1300: CAML DAT,THSDAT
1301: CAMGE ITEM,TIME
1302: POPJ P,
1303: JRST CPOPJ1
1304:
UUOCON page# 0034 next prev
1306:
1307:
1308:
1309:
1310:
1311:
1312: IFN FTLOGIN,<
1313: LOGIN: MOVSI TAC1,JLOG
1314: TDNE TAC1,JBTSTS(J)
1315: JRST UUOERR
1316: HLRO AC1,TAC
1317: HRR UUO,TAC
1318: MOVE AC2,[XWD -LOGTOP,LOGTAB]
1319: LOGIN1: AOJG AC1,LOGIN2
1320: XCTR XR,[SKIPA AC3,(UUO)]
1321: LOGIN2: MOVEI AC3,0
1322: MOVEM AC3,@(AC2)
1323: ADDI UUO,1
1324: AOBJN AC2,LOGIN1
1325: IORM TAC1,JBTSTS(J)
1326: MOVSI TAC1,JACCT
1327: ANDCAM TAC1,JBTSTS(J)
1328: MOVE TAC1,JB2PRV(J)
1329: MOVEM TAC1,JBTPRV(J)
1330: IFN FTDISK,< SETZM JBTUFD(J)
1331: IFN FTDSKPPN,< SETZM DSKPPN(J)
1332: >
1333: >
1334: ↑SETLOG:
1335: SKIPN JBTJL(J)
1336: PUSHJ P,PRIBUF
1337:
1338:
1339: HRRZ AC1,PRJPRG(J)
1340: MOVN TAC,SLNRES
1341: JUMPE TAC,CPOPJ
1342: HRLZ TAC,TAC
1343: LOGIN4: HRRZ TAC1,SLRES(TAC)
1344: CAME TAC1,AC1
1345: AOBJN TAC,LOGIN4
1346: JUMPGE TAC,CPOPJ
1347: HLRZ TAC,SLRES(TAC)
1348: MOVEM TAC,JBTGSL(J)
1349: POPJ P,
1350:
1351:
1352:
1353:
1354: LOGTAB: XWD J,PRJPRG
1355: XWD J,JB2PRV
1356: LOGTOP←←.-LOGTAB
UUOCON page# 0035 next prev
1358:
1359:
1360: ↑PRIBUF:MOVEI AC3,JLLENGTH
1361: PUSHJ P,FSGET
1362: POPJ P,
1363: MOVEM AC1,JBTJL(ITEM)
1364: SETZM JBTJLH(ITEM)
1365: SETZM JBTGSL(J)
1366: HRL AC2,AC1
1367: HRRI AC2,1(AC1)
1368: SETZM (AC1)
1369: BLT AC2,JLLENGTH-1(AC1)
1370: POPJ PDP,
UUOCON page# 0036 next prev
1372:
1373:
1374:
1375:
1376:
1377:
1378:
1379:
1380:
1381:
1382: SETPRV: CAMN TAC,[-1]
1383: JRST STPRV1
1384: MOVSI TAC1,PRIPRV
1385: MOVSI AC1,JACCT
1386: TDNN AC1,JBTSTS(J)
1387: TDNE TAC1,JB2PRV(J)
1388: MOVEM TAC,JBTPRV(J)
1389: CAMN TAC,JBTPRV(J)
1390: POPJ P,
1391: ANDM TAC,JBTPRV(J)
1392: AND TAC,JB2PRV(J)
1393: IORM TAC,JBTPRV(J)
1394: STPRV1: MOVSI TAC,PRIPRV
1395: AND TAC,JB2PRV(J)
1396: IOR TAC,JBTPRV(J)
1397: JRST STOTAC
1398:
1399:
1400:
1401:
1402:
1403:
1404:
1405:
1406:
1407: GETPRV: HLRZ AC1,TAC
1408: CAIL AC1,MAXFNC
1409: JRST UUOERR
1410: HRRZ TAC,TAC
1411: CAIGE TAC,JOBN
1412: JUMPN TAC,.+2
1413: MOVE TAC,J
1414: XCT FNCTAB(AC1)
1415: JRST STOTAC
1416:
1417: FNCTAB: MOVE TAC,JBTPRV(TAC)
1418: MOVE TAC,JB2PRV(TAC)
1419: MAXFNC←←.-FNCTAB
1420: >
UUOCON page# 0037 next prev
1422:
1423:
1424:
1425:
1426:
1427:
1428:
1429:
1430: RLEVEL: HRRZ AC1,TAC
1431: MOVN TAC,SLNRES
1432: JUMPE TAC,RTZERO
1433: HRLZ TAC,TAC
1434: RLEV1: HRRZ AC2,SLRES(TAC)
1435: CAME AC2,AC1
1436: AOBJN TAC,RLEV1
1437: JUMPGE TAC,RTZERO
1438: RLEV2: HLRZ TAC,SLRES(TAC)
1439: GETLV1: IMULI TAC,=100
1440: ADDI TAC,400000
1441: HRR TAC,AC1
1442: JRST STOTAC
1443:
1444:
1445:
1446: SPRSSL: SETZM JBTGSL+1
1447: MOVE TAC,[JBTGSL+1,,JBTGSL+2]
1448: BLT TAC,JBTGSL+JOBN-1
1449: SKIPLE AC2,SLNRES
1450: CAILE AC2,SLRMAX
1451: POPJ P,
1452: SPRSS0: HRRZ TAC1,SLRES-1(AC2)
1453: MOVE AC1,JOBNM1
1454: SPRSS1: HRRZ TAC,PRJPRG(AC1)
1455: CAIE TAC1,(TAC)
1456: JRST SPRSS2
1457: HLRZ TAC,SLRES-1(AC2)
1458: MOVEM TAC,JBTGSL(AC1)
1459: SPRSS2: SOJG AC1,SPRSS1
1460: SOJG AC2,SPRSS0
1461: POPJ P,
1462:
1463:
1464:
1465:
1466:
1467:
1468:
1469:
1470:
1471:
1472:
1473:
1474:
1475:
1476:
1477:
1478:
1479:
1480: SETLVL: HRRZ AC1,TAC
1481: CAIL AC1,JOBN
1482: JRST SETRES
1483: JUMPG AC1,.+2
1484: MOVE AC1,J
1485:
1486: PUSH P,AC1
1487: PUSHJ P,SPRSSL
1488: POP P,AC1
1489: HRRZ TAC,JBTGSL(AC1)
1490: JRST GETLV1
1491:
1492:
1493:
1494:
1495:
1496:
1497:
1498:
1499:
1500:
1501:
1502:
1503:
1504:
1505:
1506: SETRES: CAIE AC1,-1
1507: JRST RTZERO
1508: MOVE TAC1,JBTPRV(J)
1509: TLNN TAC1,SSLPRV
1510: JRST RTZERO
1511:
1512:
1513:
1514:
1515:
1516: XCTR XR,[HLRZ TAC1,(UUO)]
1517: PUSHJ P,RELOCA
1518: JRST UADERR
1519:
1520: HLRZ AC2,(TAC1)
1521: CAIL AC2,3
1522: MOVEI AC2,1
1523: MOVEM AC2,SLCOST
1524:
1525: HRRZ TAC,(TAC1)
1526: CAILE TAC,SLRMAX
1527: JRST SETAL0
1528: MOVSI AC2,(TAC1)
1529: HRRI AC2,SLNRES
1530: XCTR XR,[HLRZ TAC1,(UUO)]
1531: ADDI TAC1,(TAC)
1532: PUSHJ P,RELOCB
1533: JRST UADERR
1534: BLT AC2,SLNRES(TAC)
1535: HRRZS SLNRES
1536:
1537: MOVEI TAC1,0
1538: HLRZ AC1,SLNRES(TAC)
1539: ADD TAC1,AC1
1540: SOJG TAC,.-2
1541:
1542: CAIG TAC1,<XWD MAXLEV,0>/=100+SLRMAX
1543: SETAL1: AOSA (P)
1544: SETAL0: SETZM SLNRES
1545: JRST SPRSSL
UUOCON page# 0038 next prev
1547:
1548:
1549:
1550:
1551: IFN FTLOGIN,<
1552: LOGOUT: MOVSI TAC,JACCT
1553: TDNN TAC,JBTSTS(ITEM)
1554: JRST UUOERR
1555: JRST JOBKL
1556: >
1557:
1558: IFE FTLOGIN,<
1559:
1560: LOGIN:
1561: LOGOUT: JRST UUOERR
1562: >
1563:
UUOCON page# 0039 next prev
1565:
1566:
1567: SPCWAR: CONI TV,TAC
1568: JRST STOTAC
UUOCON page# 0040 next prev
1570:
1571:
1572:
1573: CTLV: JRST CTLV1
UUOCON page# 0041 next prev
1575:
1576:
1577: PEEK: HRRZS TAC
1578: CAML TAC,RMEMSIZ
1579: JRST RTZERO
1580: MOVE TAC,@TAC
1581: JRST STOTAC
UUOCON page# 0042 next prev
1583:
1584:
1585:
1586:
1587:
1588:
1589:
1590:
1591:
1592:
1593:
1594:
1595:
1596:
1597:
1598:
1599:
1600:
1601:
1602:
1603:
1604:
1605:
1606:
1607:
1608:
1609: RUNUUO: PUSHJ P,SVUACS
1610: HLRM TAC,SAVSAI(J)
1611: XCTR XR,[HRRZ TAC1,5(TAC)]
1612: MOVEM TAC1,JOBCOR(JDAT)
1613: HRROI AC1,(TAC)
1614: JRST RUNUU2
UUOCON page# 0043 next prev
1616:
1617:
1618: SYSRJB: SKIPE SPWUUF(PID)
1619: JRST SPWERR
1620: SKIPN INTACT(PID)
1621: JRST SYSRJ2
1622: JSP TAC,UUOMES
1623: ASCIZ /SWAP CALLED FROM I-LEVEL
1624: UUO/
1625: SYSRJ2: XCTR XR,[SKIPN AC1,(UCHN)]
1626: POPJ P,
1627: MOVEM AC1,JOBFDV(JDAT)
1628: MOVE AC1,UUOPC(J)
1629: MOVEM AC1,JOBOPC(JDAT)
1630: PUSHJ P,SVUACS
1631: HLRZ AC1,JOBFDV(JDAT)
1632: JUMPN AC1,SYSSJB
1633: SYSRJ1: HRRZ AC1,JOBFDV(JDAT)
1634: JUMPE AC1,SYSRXT
1635: XCTR XR,[MOVE TAC1,2(AC1)]
1636: TRNE TAC1,4
1637: JRST PHANTOM
1638: RUNUU2: PUSHJ P,SYSRS
1639: PRUNJB: JSP TAC1,SG1
1640: JRST NOFILE
1641: PUSHJ P,GETJB
1642: MOVSI AC1,USRMOD
1643: HRR AC1,JOBSA(JDAT)
1644: MOVE AC2,INCWRD(JDAT)
1645: PUSH P,AC1
1646: MOVE J,JOB(PID)
1647: TRNE AC2,2
1648: SKIPA AC1,SAVSAI(J)
1649: ADD AC1,SAVSAI(J)
1650: XCTR XR,[SKIP (AC1)]
1651: HRRM AC1,(P)
1652: PUSH P,AC2
1653: PUSHJ P,RSUACS
1654: POP P,AC2
1655: POP P,UUOPC(J)
1656: TRNN AC2,1
1657: JRST USRXIT
1658: JRST GETJ1
UUOCON page# 0044 next prev
1660:
1661:
1662: PHANTO: HLLZ TAC,SAVSAI(J)
1663: HRRI TAC,(PROG)
1664: BLT TAC,17(PROG)
1665: XCTR XR,[SKIPN TAC,5(AC1)]
1666: MOVE TAC,PRJPRG(J)
1667: CAMN TAC,PRJPRG(J)
1668: JRST PHWIN
1669: CAMN TAC,SYSPPN
1670: JRST PHLOS1
1671: PHWIN: PUSH P,J
1672: PUSH P,PROG
1673: PUSHJ P,INIJOB
1674: JRST PHLOSE
1675: JFCL
1676: POP P,PROG
1677: MOVSI TAC,JNA
1678: IORM TAC,JBTSTS(J)
1679: MOVEM TAC1,JOBLOG(J)
1680: MOVSI TAC,JLOG
1681: TRNN TAC1,10
1682: IORM TAC,JBTSTS(J)
1683: SETZM JBTUFD(J)
1684: IFN FTDSKPPN,<SETZM DSKPPN(J)
1685: SETZM JBTKCJ(J)
1686: XCTR XR,[MOVE TAC1,(AC1)]
1687: MOVEM TAC1,JOBDEV(J)
1688: XCTR XR,[MOVE TAC1,1(AC1)]
1689: MOVEM TAC1,JOBNAM(J)
1690: IFN FTSTAT,<PUSHJ P,NAMSTT>
1691: XCTR XR,[MOVE TAC1,4(AC1)]
1692: MOVEM TAC1,JOBPPN(J)
1693: MOVE TAC,(P)
1694: XCTR XR,[SKIPN TAC1,5(AC1)]
1695: MOVE TAC1,PRJPRG(TAC)
1696: MOVEM TAC1,PRJPRG(J)
1697: CAME TAC1,PRJPRG(TAC)
1698: TDZA TAC1,TAC1
1699: MOVE TAC1,JBTPRV(TAC)
1700: MOVEM TAC1,JBTPRV(J)
1701: MOVE TAC1,PRJPRG(TAC)
1702: CAME TAC1,PRJPRG(J)
1703: TDZA TAC1,TAC1
1704: MOVE TAC1,JB2PRV(TAC)
1705: MOVEM TAC1,JB2PRV(J)
1706: XCTR XR,[MOVS TAC1,3(AC1)]
1707: HRRZM TAC1,JOBCRD(J)
1708: MOVE TAC,(P)
1709: HLR TAC1,SAVSAI(TAC)
1710: MOVSM TAC1,SAVSAI(J)
1711: SETZM SAVSAI(TAC)
1712: ADDI TAC1,(UCHN)
1713: MOVEM TAC,(TAC1)
1714: XCTR XW,[MOVEM J,(UCHN)]
1715: PUSHJ P,DELBTT
1716: POP P,J
1717: JRST SYSRX2
1718:
1719: PHLOSE: POP P,PROG
1720: POP P,J
1721: PHLOS1: HLRZ TAC,SAVSAI(J)
1722: ADD TAC,UCHN
1723: SETZM (TAC)
1724: JRST SYSRXT
UUOCON page# 0045 next prev
1726:
1727:
1728: SYSSJB: PUSHJ PDP,SYSRS
1729: JSP TAC1,SG1
1730: JFCL
1731: PUSH P,AC1
1732: HRRZ AC1,SAVSAI(ITEM)
1733: JUMPE AC1,SYSSJ1
1734: XCTR XR,[SKIP (AC1)]
1735: TLO AC1,USRMOD
1736: HRRM AC1,JOBSA(JDAT)
1737: SYSSJ1: POP P,AC1
1738: PUSHJ PDP,SAVJB
1739: JRST SYSRJ1
1740:
1741: SYSRXT: PUSHJ PDP,RSUACS
1742: SYSRX2: MOVE TAC,JOBOPC(JDAT)
1743: MOVEM TAC,UUOPC(ITEM)
1744: JRST USRXIT
1745:
1746:
1747:
1748: SYSRS: XCTR XR,[MOVE TAC1,(AC1)]
1749: MOVEM TAC1,DEVWRD(JDAT)
1750: XCTR XR,[MOVE TAC1,1(AC1)]
1751: MOVEM TAC1,FILNAM(JDAT)
1752: MOVEM TAC1,JOBNAM(J)
1753: IFN FTSTAT,<PUSHJ P,NAMSTT>
1754: XCTR XR,[HLRZ TAC1,2(AC1)]
1755: JUMPN TAC1,.+2
1756: MOVEI TAC1,'DMP'
1757: HRLZM TAC1,FILEXT(JDAT)
1758: XCTR XR,[HRRZ AC2,2(AC1)]
1759: MOVEM AC2,INCWRD(JDAT)
1760: XCTR XR,[MOVE TAC1,4(AC1)]
1761: MOVEM TAC1,JOBPPN(J)
1762: JUMPL AC1,CPOPJ
1763: XCTR XR,[HLRZ TAC1,3(AC1)]
1764: LSH TAC1,12
1765: JUMPE TAC1,.+2
1766: SUBI TAC1,1
1767: MOVEM TAC1,JOBCOR(JDAT)
1768: XCTR XR,[HRRZ AC1,3(AC1)]
1769: HRRM AC1,SAVSAI(J)
1770: POPJ P,
UUOCON page# 0046 next prev
1772:
1773:
1774: SVUACS: HLRZ AC1,SAVSAI(J)
1775: JUMPE AC1,SVUA2
1776: CAML AC1,MEMSIZ
1777: CAML AC1,RMEMSIZ
1778: JRST .+2
1779: JRST SVUA1
1780: PUSHACS
1781: PUSHJ P,DISMES
1782: ASCIZ /GARBAGE IN SAVSAI LEFT HALF!
1783: /
1784: POPACS
1785: SVUA2: MOVEI AC3,20
1786: PUSHJ PDP,FSGET
1787: HALT .+1
1788: HRLM AC1,SAVSAI(ITEM)
1789: SVUA1: HRLI AC1,(PROG)
1790: HRR AC2,AC1
1791: BLT AC1,17(AC2)
1792: POPJ PDP,
1793:
1794: RSUACS: HLLZ AC1,SAVSAI(ITEM)
1795: JUMPE AC1,CPOPJ
1796: HRRI AC1,(PROG)
1797: BLT AC1,17(PROG)
1798: HLRZ AC1,SAVSAI(ITEM)
1799: SETZM SAVSAI(ITEM)
1800: JRST FSGIVE
UUOCON page# 0047 next prev
1802:
1803:
1804:
1805:
1806: EIOTM: MOVE TAC,JBTPRV(J)
1807: TLNN TAC,LUPPRV
1808: JRST UUOERR
1809: MOVSI TAC,4000
1810: ORM TAC,UUOPC(ITEM)
1811: POPJ P,
1812:
1813: LIOTM: MOVSI TAC,4000
1814: ANDCAM TAC,UUOPC(ITEM)
1815: POPJ P,
UUOCON page# 0048 next prev
1817:
1818:
1819:
1820:
1821:
1822:
1823: PNAME: PUSHJ P,FNDDDB
1824: POPJ P,
1825: MOVE TAC,DEVNAM(DDB)
1826: XCTR XW,[MOVEM TAC,(UCHN)]
1827: JRST CPOPJ1
UUOCON page# 0049 next prev
1829:
1830:
1831:
1832:
1833:
1834:
1835: USTAT: JUMPG TAC,.+2
1836: MOVE TAC,J
1837: CAIL TAC,JOBN
1838: JRST UUOERR
1839: MOVE TAC,JBTSTS(TAC)
1840: JRST STOTAC
1841:
UUOCON page# 0050 next prev
1843:
1844:
1845:
1846:
1847:
1848: TTYIOS: JUMPL TAC,TTYIO3
1849: CAIL TAC,JOBN
1850: JRST TTYIO3
1851: HLRZ DDB,DEVLST
1852: TTYIO1: HLRZ TAC1,DEVNAM(DDB)
1853: CAIE TAC1,'TTY'
1854: JRST TTYIO2
1855: LDB TAC1,PJOBN
1856: CAIE TAC1,(TAC)
1857: JRST TTYIO2
1858: TTYIO5: MOVE TAC,DEVIOS(DDB)
1859: JRST STOTAC
1860:
1861: TTYIO2: HLRZ DDB,DEVSER(DDB)
1862: JUMPN DDB,TTYIO1
1863: TTYIO4: MOVNI TAC,1
1864: JRST STOTAC
1865:
1866: TTYIO3: PUSHJ P,DEVSRC
1867: JRST TTYIO4
1868: JRST TTYIO5
UUOCON page# 0051 next prev
1870:
1871:
1872:
1873:
1874:
1875:
1876:
1877:
1878:
1879:
1880:
1881:
1882:
1883:
1884:
1885:
1886:
1887:
1888:
1889:
1890:
1891:
1892:
1893:
1894: WAKEME:
1895: IFN FTBAT,<
1896: SKIPE MAINTMODE
1897: POPJ P,
1898: XCTR XR,[MOVE AC1,(UCHN)]
1899: XCTR XR,[MOVE AC2,(AC1)]
1900: XCTR XR,[MOVE AC3,1(AC1)]
1901: MOVSI TAC,-BATLEN
1902: WAKEM1: CAMN AC2,BATMAN(TAC)
1903: CAME AC3,ROBIN(TAC)
1904: JRST WAKEM2
1905: XCTR XR,[SKIPGE AC3,2(AC1)]
1906: JRST WAKEM3
1907: MOVE AC1,TIME
1908: IDIVI AC1,=60*JIFSEC
1909: HRL AC1,THSDAT
1910: CAMG AC3,AC1
1911: SETZM BATYET
1912: WAKEM3: MOVEM AC3,ALFRED(TAC)
1913: JRST CPOPJ1
1914:
1915: WAKEM2: AOBJN TAC,WAKEM1
1916: >
1917: POPJ P,
1918:
UUOCON page# 0052 next prev
1920:
1921:
1922:
1923:
1924:
1925:
1926:
1927:
1928:
1929:
1930:
1931:
1932:
1933:
1934:
1935:
1936:
1937:
1938:
1939:
1940:
1941: CALLIT: TLNE TAC,36
1942: JRST CALT0
1943: HLRZ TAC1,TAC
1944: CAIE TAC1,(<CALLI>)
1945: JUMPN TAC1,CALTU
1946: ANDI TAC,-1
1947: CAIGE TAC,UCLDLN
1948: JRST CALT1
1949: TRZN TAC,400000
1950: JRST RTZERO
1951: MOVEI TAC,UCLDLN(TAC)
1952: CAIL TAC,UCLLEN
1953: JRST RTZERO
1954: CALT1: MOVE TAC,UCLTAB(TAC)
1955: JRST STOTAC
1956:
1957: CALT0: MOVSI TAC1,-UCLLEN
1958: CAME TAC,UCLTAB(TAC1)
1959: AOBJN TAC1,.-1
1960: JUMPGE TAC1,CALT2
1961: MOVEI TAC,(TAC1)
1962: CAIL TAC,UCLDLN
1963: MOVEI TAC,400000-UCLDLN(TAC)
1964: HRLI TAC,(<CALLI>)
1965: JRST STOTAC
UUOCON page# 0053 next prev
1967: CALTU: ANDI TAC1,777000
1968: CAIL TAC1,40000
1969: CAIL TAC1,700000+IUUMAX*2000
1970: JRST CALT0
1971: CAIL TAC1,100000
1972: CAIL TAC1,700000
1973: TRNE TAC,-1
1974: JRST CALT0
1975: TLZE TAC,1
1976: JRST CALTU2
1977: MOVSI AC1,(TAC1)
1978: MOVSI AC2,1000(TAC1)
1979: MOVEI TAC1,UUONAM
1980: CALTU1: HRRZ TAC1,-1(TAC1)
1981: JUMPE TAC1,CALTU2
1982: CAMG AC1,-1(TAC1)
1983: CAMG AC2,-1(TAC1)
1984: JRST CALTU1
1985: HLLZ AC3,-1(TAC1)
1986: CAMLE TAC,AC3
1987: JRST RTZERO
1988: ROT TAC,15
1989: ANDI TAC,17
1990: ADD TAC,TAC1
1991: MOVE TAC,(TAC)
1992: JRST STOTAC
1993:
1994: CALTU2: TLNE TAC,(<17,>)
1995: JRST RTZERO
1996: ROT TAC,9
1997: CAIL TAC,700
1998: SKIPA TAC,UUONAM+40-700(TAC)
1999: MOVE TAC,UUONAM-40(TAC)
2000: JRST STOTAC
UUOCON page# 0054 next prev
2002: CALT2: MOVSI TAC1,-IUUMAX*2-40
2003: CAME TAC,UUONAM(TAC1)
2004: AOBJN TAC1,.-1
2005: JUMPGE TAC1,CALT3
2006: MOVEI TAC,40(TAC1)
2007: CAILE TAC,77
2008: MOVEI TAC,700-40(TAC1)
2009: ROT TAC,-9
2010: JRST STOTAC
2011:
2012: CALT3: MOVE DAT,[,UUONAM(TAC1)]
2013: CALT4: HRR DAT,-1(DAT)
2014: TRNN DAT,-1
2015: JRST RTZERO
2016: LDB TAC1,[270400,,-1(DAT)]
2017: MOVNI TAC1,1(TAC1)
2018: MOVSI TAC1,(TAC1)
2019: CAME TAC,@DAT
2020: AOBJN TAC1,.-1
2021: JUMPGE TAC1,CALT4
2022: HLLZ TAC,-1(DAT)
2023: DPB TAC1,[270400,,TAC]
2024: JRST STOTAC
UUOCON page# 0055 next prev
2026:
2027: SUBTTL UUO'S FOR HIGH SEGMENTS ↔ BEGIN SEGUUO
2028:
2029:
2030:
2031:
2032:
2033:
2034:
2035:
2036:
2037:
2038:
2039:
2040:
2041:
2042:
2043:
2044:
2045: ↑SETPR2:
2046: TRNE TAC,1
2047: JRST PR2REL
2048: MOVEI TAC1,(TAC)
2049: ANDCMI TAC1,1777
2050: CAML TAC1,RMEMSIZ
2051: POPJ P,
2052: MOVE TAC1,RMEMSIZ
2053: CAILE TAC1,-1
2054: JRST SETPRW
2055: HLRZ TAC1,TAC
2056: TRO TAC1,1777
2057: HRRZ AC1,TAC
2058: ANDCMI AC1,1777
2059: ADDI TAC1,(AC1)
2060: CAML TAC1,RMEMSIZ
2061: POPJ P,
2062: SETPRW: MOVE TAC1,JBTPRV(J)
2063: TLNN TAC1,ACWPRV
2064: TLO TAC,1
2065: JRST PR2SET
UUOCON page# 0056 next prev
2067:
2068:
2069: PR2REL: HLRZ TAC1,JBTADR(J)
2070: HRRZ AC1,TAC
2071: ANDCMI AC1,1777
2072: CAMLE AC1,TAC1
2073: POPJ P,
2074: HLRZ AC1,TAC
2075: TRO AC1,1777
2076: HRRZ AC2,TAC
2077: ANDCMI AC2,1777
2078: ADDI AC1,(AC2)
2079: CAMLE AC1,TAC1
2080: POPJ P,
2081: PR2SET: PUSH P,TAC
2082: PUSHJ P,KILSEG
2083: POP P,TAC
2084: AOS (P)
2085: TRZ TAC,1776
2086: TLO TAC,1776
2087: ↑STPR2: MOVEM TAC,JBTPR2(J)
2088: JRST SEGXIT
UUOCON page# 0057 next prev
2090:
2091:
2092:
2093:
2094:
2095:
2096:
2097:
2098:
2099: ↑PR2GET:MOVE TAC,JBTPR2(J)
2100: JRST STOTAC
UUOCON page# 0058 next prev
2102:
2103:
2104:
2105:
2106:
2107:
2108:
2109:
2110: ↑REMAP:
2111: PUSH P,TAC
2112: PUSHJ P,LINKSEG
2113: PUSHJ P,MAKESEG
2114: LDB TAC1,PSEGN
2115: JUMPE TAC1,TPOPJ
2116: MOVE TAC,JBTSTS(TAC1)
2117: TLNE TAC,SWP!SHF
2118: PUSHJ P,WSCHED
2119: SKIPN JBTADR(TAC1)
2120: JRST REMAP1
2121: TLNE TAC,JSEG
2122: JRST REMAP6
2123: PUSHACS
2124: PUSHJ P,DISDATE
2125: PUSHJ P,DISERR
2126: [ASCIZ/AT REMAP WITHOUT UPPER SEGMENT.
2127: J=/]
2128: DISARG(DCP,<-20+J(P)>)
2129: [ASCIZ/ TAC1=/]
2130: DISARG(DCP,<-20+TAC1(P)>)
2131: [ASCIZ/
2132: /]
2133: -1
2134: POPACS
2135: JSP DAT,UERROR
UUOCON page# 0059 next prev
2137:
2138:
2139: REMAP6: TLNE TAC,JWP
2140: SKIPL (P)
2141: CAIA
2142: JRST REMAP5
2143:
2144: TLNN TAC,JWP
2145: SKIPGE (P)
2146: CAIA
2147: JRST REMAP5
2148: PUSHJ P,MAKESEG
2149: LDB TAC1,PSEGN
2150: JUMPE TAC1,TPOPJ
2151: JRST REMAP1
2152:
2153: REMAP5: POP P,TAC
2154: HRRZS TAC
2155: ORI TAC,1777
2156: PUSHJ P,CORUUO
2157: CAIA
2158: JRST REMAP7
2159: PUSHACS
2160: PUSHJ P,DISDATE
2161: PUSHJ P,DISERR
2162: [ASCIZ/ERROR RETURN FROM CORUUO AT REMAP5
2163: J=/]
2164: DISARG(DCP,<-20+J(P)>)
2165: -1
2166: POPACS
2167: JSP DAT,UERROR
2168: REMAP7: LDB TAC1,PSEGN
2169: LDB UCHN,PUUOAC
2170: JRST REMAP2
UUOCON page# 0060 next prev
2172:
2173:
2174: REMAP1: SETCM TAC,(P)
2175: TRNN TAC,1777
2176: JRST REMAP3
2177: HRRZ TAC,USRREL(PID)
2178: ADDI TAC,2000
2179: PUSHJ P,CORUUO
2180: CAIA
2181: JRST REMAP8
2182: POP P,TAC
2183: JRST KILSEG
2184:
2185: REMAP8: HRRZ TAC,(P)
2186: PUSHJ P,BLTUP
2187: LDB TAC1,PSEGN
2188: LDB UCHN,PUUOAC
2189: REMAP3: POP P,TAC
2190: MOVSI DAT,JWP
2191: SKIPG TAC
2192: ORM DAT,JBTSTS(TAC1)
2193: HRRZS TAC
2194: ORI TAC,1777
2195: CAML TAC,USRREL(PID)
2196: JRST KILSEG
2197: HRLM TAC,JBTADR(J)
2198: HRLM TAC,JOBADR
2199: HRRM TAC,USRREL(PID)
2200: HRRM TAC,JOBREL(JDAT)
2201: IFN FTSTAT,<
2202: PUSH P,TAC
2203: LSH TAC,-4
2204: ANDI TAC,37700
2205: ADDI TAC,CSZSTA+100
2206: PUSHJ P,STAPUT
2207: POP P,TAC
2208: >
2209: ADDI TAC,1(PROG)
2210: HRRM TAC,JBTADR(TAC1)
2211: IFN FTSTAT,<
2212: LSH TAC,-4
2213: ANDI TAC,37700
2214: TRO TAC,CPSSTA
2215: PUSHJ P,STAPUT
2216: >
2217: HLRZ TAC,PROG
2218: SUB TAC,USRREL(PID)
2219: SUBI TAC,1
2220: HRLM TAC,JBTADR(TAC1)
2221: IFN FTSTAT,<
2222: LSH TAC,-4
2223: ANDI TAC,37700
2224: ADDI TAC,CSZSTA+100
2225: PUSHJ P,STAPUT
2226: >
2227: HRL PROG,USRREL(PID)
2228: PUSH P,TAC1
2229: HRRZ DSER,JBTADR(TAC1)
2230: HLRZ AC1,JBTADR(TAC1)
2231: MOVEI UCHN,0
2232: PUSHJ P,CORSTG
2233: MOVE UCHN,(P)
2234: HLRZ AC1,JBTADR(UCHN)
2235: PUSHJ P,CORSTG
2236: POP P,TAC1
2237: LDB UCHN,PUUOAC
2238: REMAP2: XCTR XW,[MOVEM TAC1,(UCHN)]
2239: AOS (P)
2240: JRST SEGXIT
UUOCON page# 0061 next prev
2242:
2243:
2244:
2245:
2246:
2247:
2248:
2249: ↑BLTUP: MOVEI TAC1,(TAC)
2250: IORI TAC1,1777
2251: HLRZ AC2,PROG
2252: FASBLT: SUBI AC2,(TAC1)
2253: SUBI TAC1,(TAC)
2254: ADDI TAC,(PROG)
2255: CAILE AC2,(TAC1)
2256: JUMPGE TAC1,BLTUP1
2257: JUMPLE AC2,CPOPJ
2258: MOVEI AC3,(TAC)
2259: ADD AC3,TAC1
2260: HRLI AC3,(TAC)
2261: ADDI AC2,(AC3)
2262: BLT AC3,-1(AC2)
2263: POPJ P,
2264:
2265: BLTUP1: CAILE TAC1,5
2266: JRST BLTUP2
2267: JUMPE TAC1,CPOPJ
2268: MOVSI AC1,(<POP TAC1,(TAC1)>)
2269: HRRI AC1,(TAC1)
2270: MOVSI TAC1,377777(AC3)
2271: HRRI TAC1,(TAC)
2272: ADDI TAC1,(AC3)
2273: MOVE AC2,[JUMPL TAC1,AC1]
2274: MOVE AC3,[POPJ P,]
2275: JRST AC1
UUOCON page# 0062 next prev
2277:
2278:
2279: BLTUP2: PUSH P,AC2
2280: IDIVI AC2,(TAC1)
2281: MOVE AC2,(P)
2282: ADDI AC2,1(TAC)
2283: HRLI AC2,(AC2)
2284: ADDI AC2,(TAC1)
2285: JUMPE AC3,BLTUP3
2286: MOVSI AC1,(<BLT AC3,(AC2)>)
2287: HRRI AC1,-1(AC3)
2288: HRLI AC3,(AC3)
2289: SUBB AC2,AC3
2290: XCT AC1
2291: BLTUP3: HRLI TAC1,(<BLT AC3,(AC2)>)
2292: MOVEM TAC1,(P)
2293: SOS (P)
2294: HRLI TAC1,(TAC1)
2295: MOVEI AC1,1(TAC)
2296: ADDI AC1,(TAC1)
2297: BLTUP4: SUB AC2,TAC1
2298: MOVE AC3,AC2
2299: XCT (P)
2300: CAIGE AC1,(AC2)
2301: JRST BLTUP4
2302: SUB P,[1,,1]
2303: POPJ P,
UUOCON page# 0063 next prev
2305:
2306:
2307:
2308:
2309:
2310:
2311: ↑SETUWP:
2312: PUSH P,J
2313: PUSH P,TAC
2314: LDB J,PSEGN
2315: JUMPN J,SETUW1
2316: POP P,TAC
2317: POP P,J
2318: JRST SEGXIT
2319:
2320: SETUW1: PUSHJ P,ACCESS
2321: JFCL
2322: JRST SETUW2
2323: POP P,TAC1
2324: MOVSI TAC,JWP
2325: JUMPE TAC1,.+2
2326: IORB TAC,JBTSTS(J)
2327: JUMPN TAC1,.+2
2328: ANDCAB TAC,JBTSTS(J)
2329: HLRZ TAC1,JBTADR(J)
2330: JRST CORE2X
2331:
2332: SETUW2: POP P,TAC
2333: POP P,J
2334: SKIPE TAC
2335: JRST CPOPJ1
2336: POPJ P,
UUOCON page# 0064 next prev
2338:
2339:
2340:
2341:
2342: ↑UNPURE:
2343: LDB AC1,PSEGN
2344: JUMPE AC1,UNPNON
2345: MOVE TAC,JBTSTS(AC1)
2346: TLZN TAC,JWP
2347: JRST CPOPJ1
2348: MOVE TAC1,NJOBS(AC1)
2349: SOJE TAC1,UNPUR3
2350: PUSHJ P,ANYACT
2351: PUSHJ P,IOWAIT
2352: LDB AC1,PSEGN
2353: PUSHJ P,ESTSEG
2354: JRST SPWCNT
2355: MOVSI TAC,SWP
2356: IORM TAC,JBTSTS(J)
2357: MOVEI PROG,
2358: HLRZ TAC,JBTADR(AC1)
2359: PUSHJ P,CORGET
2360: JRST UNPNC
2361: MOVSI TAC,SWP
2362: ANDCAM TAC,JBTSTS(J)
2363: MOVE AC1,JOB
2364: LDB AC1,[600,,JBTSTS(AC1)]
2365: HLRZ TAC,PROG
2366: ADDI TAC,(PROG)
2367: HRL PROG,JBTADR(AC1)
2368: BLT PROG,(TAC)
2369: UNPURX: PUSH P,J
2370: MOVE J,JOB
2371: MOVE PROG,JBTADR(J)
2372: PUSHJ P,SPWCNT
2373: PUSH P,AC1
2374: PUSHJ P,KILSEG
2375: POP P,J
2376: POP P,TAC
2377: PUSHJ P,MAKSE2
2378: MOVE J,JOB(PID)
2379: DPB TAC,PSEGN
2380: IFN FTSTAT,<
2381: PUSHJ P,SEGSTT
2382: LDB TAC,PSEGN
2383: >
2384: UNPUR2: MOVEI AC1,(TAC)
2385: UNPU21: MOVE TAC,JOBNAM(AC1)
2386: LSH TAC,-6
2387: MOVEM TAC,JOBNAM(AC1)
2388: MOVEI TAC,400(J)
2389: DPB TAC,[331100,,JOBCRD(AC1)]
2390: JRST SEGXT1
2391:
2392: UNPUR3: MOVEM TAC,JBTSTS(AC1)
2393: JRST UNPU21
2394:
2395: UNPNON: MOVSI TAC,1
2396: TSNE TAC,JBTPR2(J)
2397: ANDCAM TAC,JBTPR2(J)
2398: JRST SEGXT1
UUOCON page# 0065 next prev
2400:
2401:
2402:
2403:
2404:
2405:
2406: UNPNC: MOVSI TAC,SWP
2407: ANDCAM TAC,JBTSTS(J)
2408: MOVE AC1,JOB(PID)
2409: LDB AC1,[600,,JBTSTS(AC1)]
2410: HLRZ TAC,JBTSWP(AC1)
2411: SKIPN STIME(AC1)
2412: JUMPN TAC,UNPNC4
2413: MOVSI TAC,JSEG!JNA!JLOG
2414: ANDCAM TAC,JBTSTS(J)
2415: SETZM PRJPRG(J)
2416: MOVEI TAC,NULQ
2417: MOVNM TAC,JOBQUE(J)
2418: PUSHJ P,REQUE
2419: MOVE J,JOB(PID)
2420: UNPNC1: LDB AC1,PSEGN
2421: HLRZ TAC,JBTSWP(AC1)
2422: SKIPN STIME(AC1)
2423: JUMPN TAC,UNPNC3
2424: SKIPN FINISH
2425: SKIPE FORCE
2426: JRST UNPNC2
2427: MOVEM AC1,FORCE
2428: SETZM SWPCNT
2429: UNPNC2: PUSHJ P,WSCHED
2430: JRST UNPNC1
2431:
2432:
2433: UNPNC3: PUSHJ P,ESTSEG
2434: JRST SPWCNT
2435:
2436:
2437:
2438: UNPNC4: MOVSI TAC,SWP
2439: IORM TAC,JBTSTS(AC1)
2440: MOVEI DSER,
2441: EXCH DSER,JBTADR(AC1)
2442: MOVEM DSER,JBTADR(J)
2443: PUSH P,AC1
2444: HLRZ AC1,DSER
2445: ANDI DSER,-1
2446: MOVEI UCHN,
2447: PUSHJ P,CORSTG
2448: MOVEI UCHN,(J)
2449: HLRZ AC1,JBTADR(J)
2450: PUSHJ P,CORSTG
2451: POP P,AC1
2452: JRST UNPURX
UUOCON page# 0066 next prev
2454:
2455:
2456:
2457:
2458:
2459:
2460: ↑CORE2:
2461: TRNE TAC,377777
2462: JRST CORE2A
2463: AOS (P)
2464: JRST KILSEG
2465:
2466: CORE2A: ORI TAC,1777
2467: ANDI TAC,377777
2468: PUSH P,J
2469: LDB J,PSEGN
2470: JUMPN J,CORE2B
2471: POP P,J
2472: PUSH P,TAC
2473: PUSHJ P,MAKESEG
2474: POP P,TAC
2475: LDB TAC1,PSEGN
2476: JUMPE TAC1,SEGXIT
2477: PUSH P,J
2478: LDB J,PSEGN
2479: JRST CORE2N
2480:
2481: CORE2B: PUSH P,TAC
2482: PUSH P,-1(P)
2483: PUSHJ P,ACCESS
2484: JFCL
2485: JRST CORE2C
2486: POP P,(P)
2487: POP P,TAC
2488: CORE2N: MOVE PROG,JBTADR(J)
2489: PUSHJ P,CORUUO
2490: JRST CORE2D
2491: PUSH P,PROG
2492: MOVE TAC,JBTSTS(J)
2493: TLNN TAC,SWP!SHF
2494: SKIPE XJOB(J)
2495: PUSHJ P,WSCHED
2496: POP P,PROG
2497: HLRZ TAC1,PROG
2498: CORE2X: TLNE TAC,JWP
2499: TLO TAC1,400000
2500: MOVE TAC,J
2501: TRO TAC1,400000
2502: AOS -1(P)
UUOCON page# 0067 next prev
2504:
2505:
2506: MOVEI J,JOBN-1
2507: SETRL2: LDB TEM,PSEGN
2508: CAMN TEM,TAC
2509: SKIPN PROG,JBTADR(J)
2510: JRST .+2
2511: MOVEM TAC1,JOBRL2(PROG)
2512: SOJG J,SETRL2
2513: CORE2D: POP P,J
2514: MOVE PROG,JBTADR(J)
2515: JRST SEGXIT
2516:
2517: CORE2C: POP P,(P)
2518: POP P,TAC
2519: POP P,J
2520: JRST KILSEG
2521:
UUOCON page# 0068 next prev
2523:
2524:
2525:
2526:
2527:
2528:
2529:
2530:
2531:
2532:
2533:
2534:
2535:
2536: ↑ATTSEG:
2537: LDB TAC1,PSEGN
2538: SKIPN JBTPR2(J)
2539: JUMPE TAC1,ATTSE5
2540: MOVEI TAC,4
2541: JRST ATTSER
2542: ATTSE5: TDNE TAC,[-100]
2543: JRST ATTSGJ
2544: ATTSE1: MOVE TAC1,JBTSTS(TAC)
2545: TLNE TAC1,JSEG
2546: JRST ATTSE6
2547: MOVEI TAC,1
2548: ATTSER: XCTR XW,[MOVEM TAC,(UCHN)]
2549: POPJ P,
2550:
2551: ATTSE6: PUSH P,J
2552: MOVE J,TAC
2553: PUSHJ P,ACCESS
2554: JRST ATTSE7
2555: JFCL
2556: MOVE TAC1,J
2557: POP P,J
2558: DPB TAC1,PSEGN
2559: IFN FTSTAT,<
2560: PUSH P,TAC
2561: PUSHJ P,SEGSTT
2562: POP P,TAC
2563: >
2564: AOS NJOBS(TAC1)
2565: SKIPN AC1,JBTDTS(J)
2566: JRST ATTSE2
2567: ATTSE3: LDB DAT,PDSEGN
2568: JUMPE DAT,ATTSE2
2569: CAME DAT,TAC1
2570: AOJA AC1,ATTSE3
2571: MOVE TEM,AC1
2572: ADDI TEM,1
2573: ATTSE4: SKIPE (TEM)
2574: AOJA TEM,ATTSE4
2575: MOVE DAT,-1(TEM)
2576: MOVEM DAT,(AC1)
2577: SETZM -1(TEM)
2578: SUBI TEM,1
2579: CAME TEM,JBTDTS(J)
2580: JRST ATTSE2
2581: MOVE AC1,JBTDTS(J)
2582: PUSHJ P,FSGIVE
2583: SETZM JBTDTS(J)
2584: ATTSE2: AOS (P)
2585: PUSHJ P,WSCHED
2586: JRST SEGXIT
UUOCON page# 0069 next prev
2588:
2589: ATTSGJ: MOVE DAT,JOBNM1
2590: ATTSG1: CAME TAC,JOBNAM(DAT)
2591: JRST ATTSG4
2592: MOVE TAC1,JBTSTS(DAT)
2593: TLNN TAC1,JSEG
2594: JRST ATTSG4
2595: MOVE TAC1,DAT
2596: JRST ATTSG2
2597: ATTSG4: SOJG DAT,ATTSG1
2598: MOVEI TAC,3
2599: JRST ATTSER
2600:
2601: ATTSG3: CAME TAC,JOBNAM(DAT)
2602: JRST ATTSG2
2603: MOVE TEM,JBTSTS(DAT)
2604: TLNN TEM,JSEG
2605: JRST ATTSG2
2606: MOVEI TAC,1
2607: HRL TAC,DAT
2608: JRST ATTSER
2609:
2610: ATTSG2: SOJG DAT,ATTSG3
2611: MOVE TAC,TAC1
2612: JRST ATTSE1
2613:
2614: ATTSE7: POP P,J
2615: MOVEI TAC,0
2616: JRST ATTSER
UUOCON page# 0070 next prev
2618:
2619:
2620:
2621:
2622:
2623:
2624:
2625:
2626:
2627: ↑DETSEG:
2628: SKIPE JBTPR2(J)
2629: JRST [SETZM JBTPR2(J)
2630: JRST SEGXIT]
2631: LDB TAC1,PSEGN
2632: JUMPE TAC1,CPOPJ
2633: SKIPE AC1,JBTDTS(J)
2634: JRST DETSE1
2635: MOVEI AC3,JOBN
2636: PUSHJ P,UFSGET
2637: HRRZM AC1,JBTDTS(J)
2638: JRST DETSE2
2639:
2640: DETSE1: SKIPE (AC1)
2641: AOJA AC1,DETSE1
2642: DETSE2: TRNE UCHN,1
2643: TLO TAC1,400000
2644: MOVEM TAC1,(AC1)
2645: SOSGE NJOBS(TAC1)
2646: PUSHJ P,NJERR
2647: SETZB TAC,1(AC1)
2648: DPB TAC,PSEGN
2649: IFN FTSTAT,<
2650: PUSHJ P,SEGSTT
2651: LDB TAC,PSEGN
2652: >
2653: JRST SEGXIT
2654:
2655: NJERR: PUSHACS
2656: PUSHJ P,DISMES
2657: ASCIZ /NJOB WENT NEGATIVE AT DETSEG
2658: /
2659: POPACS
2660: SETZM NJOBS(TAC1)
2661: POPJ P,
UUOCON page# 0071 next prev
2663:
2664:
2665: SEGXT1: AOS (P)
2666: SEGXIT: PUSHJ P,GETPR
2667: DATAO APR,TAC
2668: LSH TAC,-11
2669: TRNN TAC,JWP⊗<22-11>
2670: TLZA TAC,-1
2671: HRLI TAC,400000
2672: IORI TAC,401777
2673: CAMN PROG,JBTADR(J)
2674: JRST SEGXT3
2675: PUSHACS
2676: PUSHJ P,DISMES
2677: ASCIZ/πππPROG CLOBBERED AT SEGXIT
2678: PROG=/
2679: MOVE TAC,PROG
2680: PUSHJ P,DISOCT
2681: POPACS
2682: MOVE PROG,JBTADR(J)
2683: SEGXT3: MOVEM TAC,JOBRL2(PROG)
2684: POPJ P,
UUOCON page# 0072 next prev
2686:
2687:
2688:
2689:
2690: ↑SEGNUM:
2691: CAIL TAC,0
2692: CAIL TAC,JOBN
2693: JRST UUOERR
2694: CAIN TAC,0
2695: MOVE TAC,J
2696: MOVE J,TAC
2697: LDB TAC,PSEGN
2698: XCTR XW,[MOVEM TAC,(UCHN)]
2699: POPJ P,
UUOCON page# 0073 next prev
2701:
2702:
2703:
2704:
2705:
2706:
2707: ↑SEGSIZ:
2708: LDB TAC,PSEGN
2709: JUMPE TAC,STOTAC
2710: HLRZ TAC,JBTADR(TAC)
2711: JRST STOTAC
UUOCON page# 0074 next prev
2713:
2714:
2715:
2716:
2717:
2718:
2719:
2720:
2721:
2722: ↑SETNM2:
2723: LDB TAC1,PSEGN
2724: JUMPE TAC1,CPOPJ1
2725: PUSH P,TAC
2726: PUSH P,J
2727: MOVE J,TAC1
2728: PUSHJ P,ACCESS
2729: JFCL
2730: JRST SETNM5
2731: POP P,TAC1
2732: POP P,JOBNAM(J)
2733: IFN FTSTAT,<PUSHJ P,NAMSTT>
2734: MOVEI TAC1,JOBN-1
2735: SETNM3: MOVE DAT,JBTSTS(TAC1)
2736: TLNN DAT,JSEG
2737: JRST SETNM4
2738: MOVE DAT,JOBNAM(TAC1)
2739: CAME TAC1,J
2740: CAME DAT,JOBNAM(J)
2741: SETNM4: SOJG TAC1,SETNM3
2742: XCTR XW,[MOVEM TAC1,(UCHN)]
2743: JRST CPOPJ1
2744:
2745: SETNM5: POP P,J
2746: JRST TPOPJ
UUOCON page# 0075 next prev
2748:
2749:
2750:
2751:
2752:
2753: ↑SEGNAM:
2754: LDB J,PSEGN
2755: MOVE TAC,JOBNAM(J)
2756: JRST STOTAC
UUOCON page# 0076 next prev
2758:
2759:
2760:
2761:
2762:
2763:
2764:
2765: ↑LINKUP:
2766: PUSHJ P,LINKSEG
2767: POPJ P,
2768: JRST ATTSE2
UUOCON page# 0077 next prev
2770:
2771:
2772:
2773:
2774:
2775:
2776:
2777: ↑POINTS:
2778: LDB DAT,PSEGN
2779: JUMPE DAT,POINT3
2780: MOVEI J,JOBN-1
2781: POINT2: LDB TAC1,PSEGN
2782: CAME TAC1,DAT
2783: JRST POINT1
2784: XCTR XW,[MOVEM J,(UUO)]
2785: ADDI UUO,1
2786: POINT1: SOJG J,POINT2
2787: POINT3: XCTR XW,[SETZM (UUO)]
2788: POPJ P,
UUOCON page# 0078 next prev
2790:
2791:
2792:
2793:
2794:
2795:
2796:
2797:
2798: ↑SETPRO:
2799: PUSH P,TAC
2800: PUSH P,J
2801: LDB J,[POINT 6,TAC,35]
2802: SKIPE J
2803: JRST SETP3
2804: MOVE J,(P)
2805: LDB J,PSEGN
2806: JUMPN J,SETP3
2807: SETP1: POP P,J
2808: POP P,TAC
2809: POPJ P,
2810:
2811: SETP3: MOVE TAC1,JBTSTS(J)
2812: TLNN TAC1,JSEG
2813: JRST SETP1
2814: PUSHJ P,ACCESS
2815: JFCL
2816: JRST SETP1
2817: MOVE TAC1,(P)
2818: MOVE TAC1,JBTPRV(TAC1)
2819: TLNE TAC1,SEGPRV
2820: JRST SETP2
2821: TRNE TAC,400
2822: JRST SETP1
2823: SETP2: MOVE TAC,-1(P)
2824: LSH TAC,-=27
2825: ANDI TAC,377
2826: DPB TAC,[POINT =9,JOBCRD(J),8]
2827: AOS -2(P)
2828: JRST SETP1
2829:
2830: BEND SEGUUO
UUOCON page# 0079 next prev
2832: SUBTTL INTUUO - UUOS FOR NEW STYLE INTERRUPT SYSTEM
2833:
2834:
2835:
2836:
2837:
2838:
2839:
2840:
2841: RUNMSK:
2842: REPEAT 0,<
2843: DPB TAC,PRUNB
2844: >
2845: POPJ P,
UUOCON page# 0080 next prev
2847:
2848:
2849:
2850:
2851:
2852: INTENB: PUSHJ P,INTCHK
2853: MOVE AC1,JBTIEN(J)
2854: MOVEM TAC,JBTIEN(J)
2855: XOR AC1,TAC
2856: TLNN AC1,INTCLK
2857: JRST INTAPC
2858: TLNN TAC,INTCLK
2859: JRST INTEN1
2860: PUSHJ P,CLKENB
2861: JRST INTAPC
2862:
2863: INTEN1: PUSHJ P,INTAPC
2864: MOVSI TAC,INTCLK
2865: ANDCAM TAC,JBTIRQ(J)
2866: JRST APRDKL
2867:
2868: INTCHK: TLZ TAC,INTWAIT
2869: TDNN TAC,JOBENB(PROG)
2870: POPJ P,
2871: INTLOS: JSP TAC,UUOMES
2872: ASCIZ /CONFLICT BETWEEN INTERRUPT ENABLINGS
2873: UUO/
UUOCON page# 0081 next prev
2875:
2876:
2877:
2878: CLKENB: PUSH P,TAC
2879: TDZA TAC,TAC
2880: CLKENA: PUSH P,TAC
2881: JUMPN PID,TPOPJ
2882: CLKNB1: CONO PI,APROFF
2883: SKIPN AC1,APRLST
2884: JRST CLKNB2
2885: CLKNBL: SKIPN AC2,(AC1)
2886: JRST CLKNB5
2887: CAIN J,(AC2)
2888: JRST CLKNB4
2889: ADDI AC1,2
2890: JRST CLKNBL
2891:
2892: CLKNB2: CONO PI,APRON
2893: MOVEI AC3,2*JOBN
2894: PUSHJ P,UFSGET
2895: SETZM (AC1)
2896: CONO PI,APROFF
2897: SKIPN APRLST
2898: JRST CLKNB3
2899: CONO PI,APRON
2900: PUSHJ P,FSGIVE
2901: JRST CLKNB1
2902: CLKNB3: MOVEM AC1,APRLST
2903: JRST CLKNBL
2904:
2905: CLKNB4: JUMPE TAC,CLKNB7
2906: CLKNB6: HRLM TAC,(AC1)
2907: MOVNM TAC,1(AC1)
2908: CLKNB7: CONO PI,APRON
2909: POP P,TAC
2910: POPJ P,
2911:
2912: CLKNB5: SETZM 2(AC1)
2913: HRRZM J,(AC1)
2914: JUMPN TAC,CLKNB6
2915: MOVEI TAC,1
2916: JRST CLKNB6
UUOCON page# 0082 next prev
2918:
2919:
2920: INTORM: PUSHJ P,INTCHK
2921: MOVE AC1,TAC
2922: IORB TAC,JBTIEN(J)
2923: TLNE AC1,INTCLK
2924: PUSHJ P,CLKENB
2925: JRST INTAPC
UUOCON page# 0083 next prev
2927:
2928:
2929: INTACM: PUSHJ P,INTCHK
2930: MOVE AC1,TAC
2931: ANDCAB TAC,JBTIEN(J)
2932: TLNE AC1,INTCLK
2933: JRST INTEN1
2934: INTAPC: ANDI TAC,CPUMSK
2935: HRRZM TAC,APRIN2(PID)
2936: IOR TAC,JOBENB(PROG)
2937: ANDI TAC,CPUMSK!1000
2938: JRST APREN2
UUOCON page# 0084 next prev
2940:
2941:
2942: INTENS: SKIPA TAC,JBTIEN(J)
2943: INTIIP: MOVE TAC,JBTIIP(J)
2944: JRST STOTAC
UUOCON page# 0085 next prev
2946:
2947:
2948: INTIRQ: MOVE TAC,JBTIRQ(J)
2949: JRST STOTAC
UUOCON page# 0086 next prev
2951:
2952:
2953: DISMIS: SKIPE INTACT(PID)
2954: JRST DISM2
2955: SKIPE SPWUUF(PID)
2956: JRST SPWXIT
2957: JRST DISLOS
2958: DISM2: MOVEI AC1,INTDSM
2959: DISM1: JUMPE UCHN,DISM3
2960: MOVM TAC,JOBQUE(J)
2961: XCTR XR,[MOVE TAC1,(UCHN)]
2962: LSH TAC1,(TAC)
2963: JUMPGE TAC1,DISM3
2964: XCTR XR,[HRRZ TAC,(UCHN)]
2965: CAIL TAC,NDISQS
2966: JRST DISM3
2967: MOVE TAC,DISQTB(TAC)
2968: MOVEM TAC,JOBQUE(J)
2969: PUSHJ P,REQUE
2970: DISM3: CONO PI,PIOFF
2971: MOVEM AC1,INTDISP(PID)
2972: HLLOS CLKFLG(PID)
2973: CONO PI,PION!1B24!1⊗(7-CLKCHN)
2974: JUMPN PID,CL2INT
2975: JRST CLKINT
2976:
2977: DISLOS: JSP TAC,UUOMES
2978: ASCIZ /I-LEVEL UUO GIVEN WHEN NOT AT I-LEVEL
2979: UUO/
2980:
2981: DISQTB: TQ
2982: RUNQ
2983: INTWQ
2984: IOWQ
2985: NDISQS←←.-DISQTB
UUOCON page# 0087 next prev
2987:
2988:
2989: INTGEN: SETCM AC1,JBTIEN(J)
2990: TDNN AC1,TAC
2991: JRST INTGN1
2992: JSP TAC,UUOMES
2993: ASCIZ /ATTEMPT TO GENERATE NON-ENABLED INTERRUPT
2994: UUO/
2995: INTGN1: IORM TAC,JBTIRQ(J)
2996: SETOM INTREQ(PID)
2997: SKIPN INTACT(PID)
2998: JRST WSCHED
2999: POPJ P,
UUOCON page# 0088 next prev
3001:
3002:
3003: USKIP: SKIPN INTACT(PID)
3004: JRST DISLOS
3005: MOVE AC1,USRPC(PID)
3006: TLNN AC1,USRMOD
3007: AOS (P)
3008: POPJ P,
UUOCON page# 0089 next prev
3010:
3011:
3012: UWAIT: PUSHJ P,USKIP
3013: JRST UWNPC
3014: MOVE DSER,JBTSTS(J)
3015:
3016: TLNE DSER,CLKR
3017: PUSHJ P,UWAIT1
3018: MOVSI AC1,INTWAIT
3019: IORM AC1,JBTIEN(J)
3020: IORM AC1,JBTMSK(J)
3021: MOVE AC1,UUOPC(J)
3022: MOVEM AC1,JBTUPC(J)
3023: JRST DISMIS
3024:
3025: UWAIT1: MOVE TAC,J
3026: JRST WAKE
3027:
3028: UWNPC: MOVEM AC1,JOBTPC(PROG)
3029: MOVSI AC1,JOBDAC(PROG)
3030: HRRI AC1,JOBAC(PROG)
3031: BLT AC1,JOBAC+17(PROG)
3032: POPJ P,
UUOCON page# 0090 next prev
3034:
3035:
3036: DEBREAK:
3037: SKIPN INTACT(PID)
3038: JRST DISLOS
3039: MOVEI AC1,INTDEB
3040: JRST DISM1
UUOCON page# 0091 next prev
3042:
3043:
3044: IWAIT: MOVEI AC1,INTWQ
3045: MOVNM AC1,JOBQUE(J)
3046: JRST WSCHED
UUOCON page# 0092 next prev
3048:
3049:
3050:
3051:
3052:
3053:
3054: IENBW: MOVEI AC1,INTWQ
3055: MOVNM AC1,JOBQUE(J)
3056: PUSHJ P,INTENB
3057: JRST WSCHED
UUOCON page# 0093 next prev
3059:
3060:
3061:
3062:
3063:
3064: INTMSK: XCTR XR,[MOVE AC1,(UUO)]
3065: MOVEM AC1,JBTMSK(J)
3066: IMCALL: SKIPN INTACT(PID)
3067: TDNN AC1,JBTIRQ(J)
3068: POPJ P,
3069: SETOM INTREQ(PID)
3070: JRST WSCHED
UUOCON page# 0094 next prev
3072:
3073:
3074:
3075: IMSKST: XCTR XR,[MOVE AC1,(UUO)]
3076: IORM AC1,JBTMSK(J)
3077: JRST IMCALL
3078:
3079:
3080:
3081: IMSKCL: XCTR XR,[MOVE AC1,(UUO)]
3082: ANDCAM AC1,JBTMSK(J)
3083: POPJ P,
UUOCON page# 0095 next prev
3085:
3086:
3087:
3088:
3089:
3090:
3091: CLKUUO: TRNN UUO,-1
3092: JRST CLKUU2
3093: MOVSI TAC,INTCLK
3094: IORM TAC,JBTIEN(J)
3095: ANDCAM TAC,JBTIRQ(J)
3096: HRRZ TAC,UUO
3097: JRST CLKENA
3098:
3099: CLKUU2: PUSHJ P,APRDKL
3100: MOVSI TAC,INTCLK
3101: ANDCAM TAC,JBTIEN(J)
3102: ANDCAM TAC,JBTIRQ(J)
3103: POPJ P,
UUOCON page# 0096 next prev
3105:
3106:
3107:
3108: INTUUO: CAILE UCHN,INTMXU
3109: JRST UUOERR
3110: JRST @INTUTB(UCHN)
3111:
3112: DEFINE UUOS{FOR X IN(INTDEJ,IMSTW,IWKMSK,INTDMP,INTIPI,IMSKCR)}
3113:
3114: UUOMAC INTUTB,INTUUO
3115: INTMXU←←UUOCNT
3116:
3117:
3118:
3119:
3120:
3121:
3122:
3123:
3124:
3125: INTDEJ: XCTR XR,[MOVE TAC,1(UUO)]
3126: TLO TAC,USRMOD
3127: PUSH P,TAC
3128: PUSHJ P,IMSKST
3129: POP P,UUOPC(J)
3130: POPJ P,
3131:
3132:
3133:
3134:
3135:
3136:
3137:
3138: IMSTW: MOVEI AC1,INTWQ
3139: MOVNM AC1,JOBQUE(J)
3140: PUSHJ P,INTMSK
3141: JRST WSCHED
UUOCON page# 0097 next prev
3143:
3144:
3145:
3146:
3147:
3148:
3149:
3150:
3151: IWKMSK: XCTR XR,[MOVE TAC,(UUO)]
3152: MOVEM TAC,JBTWKM(J)
3153: POPJ P,
3154:
3155:
3156:
3157:
3158:
3159:
3160:
3161: IMSKCR: MOVE TAC,JBTMSK(J)
3162: XCTR XR,[ANDCM TAC,(UUO)]
3163: EXCH TAC,JBTMSK(J)
3164: JRST STOTAC
UUOCON page# 0098 next prev
3166:
3167:
3168:
3169:
3170:
3171:
3172:
3173:
3174:
3175:
3176:
3177:
3178:
3179:
3180: INTDMP: XCTR XR,[MOVE TAC,(UUO)]
3181: TDNE TAC,[-100]
3182: JRST INTDGJ
3183: JUMPE TAC,INTDM2
3184: CAIL TAC,JOBN
3185: JRST INTDR1
3186: INTDM1: MOVE AC1,JBTIEN(TAC)
3187: XCTR XW,[MOVEM AC1,1(UUO)]
3188: MOVE AC1,JBTMSK(J)
3189: XCTR XW,[MOVEM AC1,2(UUO)]
3190: XCTR XW,[SETZM 3(UUO)]
3191: MOVE AC1,JBTWKM(TAC)
3192: XCTR XW,[MOVEM AC1,4(UUO)]
3193: MOVM AC1,JOBQUE(TAC)
3194: XCTR XW,[MOVEM AC1,5(UUO)]
3195: JRST CPOPJ1
UUOCON page# 0099 next prev
3197:
3198:
3199: INTDM2: MOVE TAC,J
3200: JRST INTDM1
3201:
3202: INTDR3: MOVEI AC1,3
3203: JRST INTDR4
3204:
3205: INTDR2: SKIPA AC1,[2]
3206: INTDR1: MOVEI AC1,1
3207: INTDR4: XCTR XW,[MOVEM AC1,1(UUO)]
3208: POPJ P,
3209:
3210: INTDGJ: PUSHJ P,GJOBN
3211: JRST INTDR2
3212: JRST INTDR3
3213: JRST INTDM1
UUOCON page# 0100 next prev
3215:
3216:
3217: GJOBN: MOVEI AC1,JOBN-1
3218: GJOBN1: CAMN TAC,JOBNAM(AC1)
3219: JRST GJOBN2
3220: GJOBN4: SOJG AC1,GJOBN1
3221: JRST CPOPJ1
3222:
3223: GJOBN2: MOVE AC2,JBTSTS(AC1)
3224: TLNE AC2,JSEG
3225: JRST GJOBN4
3226: MOVE AC2,AC1
3227: JRST GJOBN5
3228: GJOBN3: CAMN TAC,JOBNAM(AC2)
3229: POPJ P,
3230: GJOBN5: SOJG AC2,GJOBN3
3231: MOVE TAC,AC1
3232: JRST CPOPJ2
UUOCON page# 0101 next prev
3234:
3235:
3236:
3237:
3238:
3239:
3240:
3241:
3242:
3243:
3244:
3245: INTIPI: XCTR XR,[MOVE TAC,(UUO)]
3246: TDNE TAC,[-100]
3247: JRST INTIP1
3248: JUMPE TAC,INTIP2
3249: CAIL TAC,JOBN
3250: JRST INTDR1
3251: INTIP3: XCTR XR,[MOVE AC1,1(UUO)]
3252: SETCM AC2,JBTIEN(TAC)
3253: TDNE AC1,AC2
3254: JRST INTIR4
3255: IORM AC1,JBTIRQ(TAC)
3256: SETOM INTREQ(PID)
3257: JRST CPOPJ1
3258:
3259: INTIP1: PUSHJ P,GJOBN
3260: JRST INTDR2
3261: JRST INTDR3
3262: JRST INTIP3
3263:
3264: INTIP2: MOVE TAC,J
3265: JRST INTIP3
3266:
3267: INTIR4: MOVEI AC1,4
3268: JRST INTDR4
UUOCON page# 0102 next prev
3270: SUBTTL UUOCON - STANFORD SPECIAL IO ROUTINES
3271:
3272:
3273:
3274:
3275: CHNSTS:
3276: CAMLE UCHN,USRHCU(PID)
3277: TDZA TAC,TAC
3278: HLRZ TAC,USRJDA(UCHN)
3279: XCTR XW,[MOVEM TAC,(UUO)]
3280: POPJ P,
UUOCON page# 0103 next prev
3282:
3283:
3284:
3285:
3286:
3287: BUFLEN: PUSHJ P,FNDDDB
3288: JRST RTZERO
3289: LDB TAC,PDVBLN
3290: JRST STOTAC
UUOCON page# 0104 next prev
3292:
3293:
3294:
3295:
3296:
3297:
3298:
3299:
3300: GDPTIM:
3301: REPEAT 0 <
3302: MOVE TAC1,JBTLIN(J)
3303: XCTR XR,[MOVE TAC,(UCHN)]
3304: SETZB AC1,AC2
3305: TLNE TAC1,DISLIN!DDDLIN
3306: SKIPN DDB,LETAB-DPYL0(TAC1)
3307: JRST NOTDPY
3308: EXCH AC1,DPKTIM(DDB)
3309: EXCH AC2,DPGTIM(DDB)
3310: NOTDPY: XCTR XW,[MOVEM AC1,(TAC)]
3311: XCTR XW,[MOVEM AC2,1(TAC)]
3312: >
3313: POPJ P,
3314:
UUOCON page# 0105 next prev
3316:
3317:
3318:
3319:
3320:
3321:
3322:
3323: NAMEIN:
3324: MOVEI TAC1,JOBN-1
3325: NAMEI1: CAME TAC,JOBNAM(TAC1)
3326: NAMEI2: SOJG TAC1,NAMEI1
3327: JUMPN TAC1,NAMEI4
3328: MOVEI TAC,1
3329: JRST STOTAC
3330: NAMEI4: MOVE AC1,JBTSTS(TAC1)
3331: TLNN AC1,JNA
3332: JRST NAMEI2
3333: MOVE AC2,TAC1
3334: NAMEI3: SOJLE TAC1,NAMEI5
3335: CAME TAC,JOBNAM(TAC1)
3336: JRST NAMEI3
3337: MOVE AC1,JBTSTS(TAC1)
3338: TLNN AC1,JNA
3339: JRST NAMEI3
3340: MOVEI TAC,3
3341: JRST STOTAC
3342: NAMEI5: MOVE TAC,AC2
3343: AOS (P)
3344: JRST STOTAC
UUOCON page# 0106 next prev
3346:
3347:
3348:
3349:
3350:
3351:
3352: DEVUSE: PUSHJ P,FNDDDB
3353: JRST RTZERO
3354: MOVEI AC1,JOBN-1
3355: SETZ TAC,
3356: DEVUS1: CAME DDB,JBTDVW(AC1)
3357: DEVUS2: SOJG AC1,DEVUS1
3358: JUMPE AC1,DEVUS3
3359: CAIN AC1,(J)
3360: JRST DEVUS2
3361: MOVE AC2,JBTSTS(AC1)
3362: MOVM AC3,JOBQUE(AC1)
3363: TLNE AC2,JNA
3364: CAIE AC3,DWQ
3365: JRST DEVUS2
3366: AOJA TAC,DEVUS2
3367:
3368: DEVUS3: MOVE TAC1,DEVMOD(DDB)
3369: TLNE TAC1,DVUDP
3370: JRST DEVUS4
3371: LDB AC1,PJOBN
3372: TLNE TAC1,TTYATC
3373: TRO AC1,100000
3374: TRNE TAC1,ASSCON
3375: TRO AC1,400000
3376: TRNE TAC1,ASSPRG
3377: TRO AC1,200000
3378: HRL TAC,AC1
3379: JRST STOTAC
3380:
3381: DEVUS4: LDB AC1,PUNIT
3382: MOVE AC2,DKDBML(AC1)
3383: MOVE AC3,DEVNAM(DDB)
3384: DEVUS5: HLR AC2,DEVSER(AC2)
3385: CAME AC3,DEVNAM(AC2)
3386: JRST DEVUS7
3387: MOVE TAC1,DEVMOD(AC2)
3388: TRNE TAC1,ASSCON
3389: TLO AC2,400000
3390: TRNE TAC1,ASSPRG
3391: TLO AC2,200000
3392: LDB AC1,[POINT 6,DEVCHR(AC2),5]
3393: CAIE AC1,(J)
3394: JRST DEVUS6
3395: TRNE TAC1,ASSCON
3396: TLO AC2,40000
3397: TRNE TAC1,ASSPRG
3398: TLO AC2,20000
3399: JRST DEVUS5
3400:
3401: DEVUS6: TRNE TAC1,ASSCON
3402: TLO AC2,10000
3403: TRNE TAC1,ASSPRG
3404: TLO AC2,4000
3405: JRST DEVUS5
3406:
3407: DEVUS7: LDB TAC1,PUNIT
3408: HLRZ AC1,AC2
3409: TRO AC1,2000
3410: SKIPGE UDPOWN-1(TAC1)
3411: TRZA AC1,2000
3412: ADD AC1,UDPOWN-1(TAC1)
3413: HRL TAC,AC1
3414: JRST STOTAC
UUOCON page# 0107 next prev
3416:
3417:
3418:
3419:
3420:
3421:
3422:
3423:
3424:
3425:
3426:
3427:
3428:
3429:
3430:
3431:
3432: JOBRD: HRR UUO,TAC
3433: SKIPE AC1,JBTFS(J)
3434: PUSHJ P,FSGIVE
3435: SETZM JBTFS(J)
3436: XCTR XR,[HLRO TAC,1(UUO)]
3437: CAMGE 1,[-2000]
3438: JRST [MOVEI AC1,6
3439: JRST INTDR4]
3440: XCTR XR,[MOVE TAC,(UUO)]
3441: TDNE TAC,[-100]
3442: JRST JOBRD1
3443: JUMPLE TAC,INTDR1
3444: CAIL TAC,JOBN
3445: JRST INTDR1
3446: JOBRD2: MOVE AC1,JBTSTS(TAC)
3447: TLNN AC1,JNA
3448: JRST [MOVEI AC1,5
3449: JRST INTDR4]
3450: TLNE AC1,SWP!SHF
3451: JRST JOBRD3
3452: HLRZ AC1,JBTADR(TAC)
3453: XCTR XR,[HRRZ AC2,1(UUO)]
3454: MOVE TAC1,AC2
3455: ADD TAC1,JBTADR(TAC)
3456: XCTR XR,[HLRO AC3,1(UUO)]
3457: MOVN AC3,AC3
UUOCON page# 0108 next prev
3459:
3460:
3461: ADDI AC3,(AC2)
3462: SUBI AC3,1
3463: CAILE AC3,(AC1)
3464: JRST JOBRD4
3465: SUBI AC3,(AC2)
3466: JOBRD5: XCTR XR,[HRRZ AC2,2(UUO)]
3467: ADD AC3,AC2
3468: HLRZ AC1,PROG
3469: CAIG AC2,(AC1)
3470: CAILE AC3,(AC1)
3471: JRST JOBRD6
3472: ADDI AC2,(PROG)
3473: ADDI AC3,(PROG)
3474: HRL AC2,TAC1
3475: BLT AC2,(AC3)
3476: AOS (P)
3477: SKIPN AC1,JBTFS(J)
3478: POPJ P,
3479: SETZM JBTFS(J)
3480: JRST FSGIVE
3481:
3482: JOBRD6: SKIPN AC1,JBTFS(J)
3483: JRST JOBRD4
3484: SETZM JBTFS(J)
3485: PUSHJ P,FSGIVE
3486: JOBRD4: MOVEI AC1,4
3487: JRST INTDR4
3488:
3489: JOBRD1: PUSHJ P,GJOBN
3490: JRST INTDR2
3491: JRST INTDR3
3492: JRST JOBRD2
UUOCON page# 0109 next prev
3494:
3495:
3496: JOBRD3: XCTR XR,[HLRO AC3,1(UUO)]
3497: MOVN AC3,AC3
3498: ADDI AC3,1
3499: PUSHJ P,UFSGET
3500: HRL AC1,TAC
3501: MOVEM AC1,JBTFS(J)
3502: MOVE DAT,J
3503: HRLI DAT,JOBRCK
3504: PUSHJ P,DPYTIM
3505: XCTR XR,[MOVE AC2,1(UUO)]
3506: MOVEM AC2,(AC1)
3507: JOBRDX: MOVNI AC3,IOWQ
3508: MOVEM AC3,JOBQUE(J)
3509: PUSHJ P,WSCHED
3510: SKIPN AC1,JBTFS(J)
3511: JRST JOBRD6
3512: HRRZI TAC1,1(AC1)
3513: SKIPGE (AC1)
3514: JRST JOBRDX
3515: SKIPE TAC,(AC1)
3516: JRST JOBRDY
3517: XCTR XR,[HLRO AC3,1(UUO)]
3518: MOVN AC3,AC3
3519: SOJA AC3,JOBRD5
3520:
3521: JOBRDY: XCTR XW,[MOVEM TAC,1(UUO)]
3522: SETZM JBTFS(J)
3523: JRST FSGIVE
3524:
3525:
3526:
3527:
3528:
3529:
UUOCON page# 0110 next prev
3531:
3532:
3533: JOBRCK: HRRZ J,DAT
3534: SKIPN TEM,JBTFS(J)
3535: POPJ P,
3536: HLRZ TAC,TEM
3537: MOVE AC1,JBTSTS(TAC)
3538: TLNN AC1,JNA
3539: JRST JOBRC3
3540: TLNE AC1,SHF
3541: JRST DPYTIM
3542: TLNE AC1,SWP
3543: JRST JOBRCQ
3544: PUSHJ P,JRDBLT
3545: JRST JOBRC2
3546:
3547: JOBRCQ: MOVE J,TAC
3548: MOVSI TAC,JRDSNB
3549: JRST SETSIN
3550:
3551:
3552: JRDBLT: HRRZ AC2,(TEM)
3553: HLRO AC3,(TEM)
3554: MOVNS AC3
3555: HLRZ AC1,JBTADR(TAC)
3556: ADDI AC3,(AC2)
3557: SUBI AC3,1
3558: CAILE AC3,(AC1)
3559: JRST JRDBL1
3560: SUBI AC3,-1(AC2)
3561: ADD AC2,JBTADR(TAC)
3562: HRLI AC2,1(TEM)
3563: MOVSS AC2
3564: ADD AC3,TEM
3565: BLT AC2,(AC3)
3566: SETZM (TEM)
3567: POPJ P,
3568:
3569: JRDBL1: MOVEI TAC,4
3570: MOVEM TAC,(TEM)
3571: POPJ P,
3572:
3573:
3574:
3575: ↑JRDWIN:PUSH P,TEM
3576: PUSH P,AC1
3577: PUSH P,AC2
3578: PUSH P,AC3
3579: HRRZ TEM,JBTFS(J)
3580: PUSHJ P,JRDBLT
3581: PUSHJ P,JOBRC2
3582: JRDLEV: POP P,AC3
3583: POP P,AC2
3584: POP P,AC1
3585: POP P,TEM
3586: POPJ P,
3587:
3588:
3589: ↑JRDLOS:PUSH P,TEM
3590: PUSH P,AC1
3591: PUSH P,AC2
3592: PUSH P,AC3
3593: HRRZ TEM,JBTFS(J)
3594: PUSHJ P,JOBRC1
3595: JRST JRDLEV
3596:
3597:
3598: JOBRC3: SKIPA TAC,[5]
3599: JOBRC1: MOVEI TAC,4
3600: MOVEM TAC,(TEM)
3601: JOBRC2: MOVM AC3,JOBQUE(J)
3602: CAIE AC3,IOWQ
3603: JRST [ MOVE AC1,JBTFS(J)
3604: SETZM JBTFS(J)
3605: JRST FSGIVE]
3606: MOVNI AC3,RUNQ
3607: MOVEM AC3,JOBQUE(J)
3608: JRST REQUE
UUOCON page# 0111 next prev
3610:
3611:
3612: TMPMAX←←400
3613:
3614:
3615: TMPLNK←←0
3616: TMPNAM←←1
3617: TMPPPN←←2
3618: TMPDAT←←3
3619:
3620: TMPCRD: XCTR XR,[HRRZ DSER,(TAC)]
3621: JUMPN DSER,.+2
3622: MOVEI DSER,(J)
3623: MOVEI TAC1,0
3624: CAMLE DSER,JOBNM1
3625: JRST TMPCR1
3626: MOVE AC1,JBTSTS(DSER)
3627: TLNN AC1,JNA
3628: JRST TMPCR1
3629: XCTR XR,[SKIPN UUO,2(TAC)]
3630: MOVE UUO,PRJPRG(DSER)
3631: JRST TMPCO1
3632:
3633: TMPCOR: MOVEI DSER,(J)
3634: SKIPN UUO,DSKPPN(DSER)
3635: MOVE UUO,PRJPRG(DSER)
3636: TMPCO1: HLRZ TAC1,TAC
3637: CAIL TAC1,NUMTMP
3638: JRST UUOERR
3639: CAIE DSER,(J)
3640: SKIPGE TMPDSP(TAC1)
3641: JRST .+2
3642: JRST UUOERR
3643: PUSHJ P,@TMPDSP(TAC1)
3644: JRST .+2
3645: AOS (P)
3646: TMPCR1: XCTR XW,[MOVEM TAC1,(UCHN)]
3647: POPJ P,
3648:
3649: TMPDSP: SETZ TMPSZ1
3650: SETZ TMPRED
3651: TMPRDD
3652: TMPWRT
3653: SETZ TMPDIR
3654: TMPCLR
3655: NUMTMP←←.-TMPDSP
3656:
3657:
3658: TMPSZ1: AOSA (P)
3659: TMPWRX: PUSHJ P,FSGIVE
3660: TMPSIZ: MOVEI TAC1,TMPMAX
3661: JSP DAT,TM1SCN
3662: SUB TAC1,TMPNAM(AC1)
3663: TLZA TAC1,-1
3664: POPJ P,
3665:
3666:
3667: TMPSCN: HRRZ AC3,JBTTCR(DSER)
3668: TMPSC1: SKIPN AC1,AC3
3669: JRST 2(DAT)
3670: CAME UUO,TMPPPN(AC1)
3671: JRST TMPSC2
3672: HRRZ AC3,TMPLNK(AC1)
3673: XCT (DAT)
3674: XCT 1(DAT)
3675: JRST 3(DAT)
3676: JRST TMPSC1
3677: TMPSC2: HRRZ AC3,TMPLNK(AC1)
3678: JRST TMPSC1
3679:
3680:
3681: TM1SCN: HRRZ AC3,JBTTCR(DSER)
3682: TM1SC1: SKIPN AC1,AC3
3683: JRST 2(DAT)
3684: HRRZ AC3,TMPLNK(AC1)
3685: XCT (DAT)
3686: XCT 1(DAT)
3687: JRST 3(DAT)
3688: JRST TM1SC1
3689:
3690:
3691: TMPFND: XCTR XR,[HLLZ TAC1,(TAC)]
3692: JSP DAT,TMPSCN
3693: HLLZ AC2,TMPNAM(AC1)
3694: CAMN AC2,TAC1
3695: POPJ P,
3696: JRST CPOPJ1
UUOCON page# 0112 next prev
3698:
3699: TMPSET: MOVEI TAC1,-1
3700: TMPST1: XCTR XR,[HLRE AC2,1(TAC)]
3701: JUMPGE AC2,CPOPJ
3702: MOVN AC2,AC2
3703: CAILE TAC1,(AC2)
3704: SKIPA TAC1,AC2
3705: MOVEI AC2,(TAC1)
3706: XCTR XR,[HRRZ AC3,1(TAC)]
3707: PUSH P,AC1
3708: ADDI TAC1,(AC3)
3709: PUSHJ P,RELOCA
3710: JRST UUOERR
3711: MOVEI TAC1,1(AC3)
3712: PUSHJ P,RELOCB
3713: JRST UUOERR
3714: POP P,AC1
3715: JRST CPOPJ1
3716:
3717:
3718: TMPRED: PUSHJ P,TMPFND
3719: JRST TMPSIZ
3720: HRRZ TAC1,TMPNAM(AC1)
3721: PUSHJ P,TMPST1
3722: JRST TMPRDX
3723: JUMPL TAC1,UUOERR
3724: HRLI TAC1,TMPDAT(AC1)
3725: ADDI AC2,(TAC1)
3726: BLT TAC1,-1(AC2)
3727: TMPRDX: HRRZ TAC1,TMPNAM(AC1)
3728: JRST CPOPJ1
3729:
3730:
3731: TMPRDD: PUSHJ P,TMPRED
3732: POPJ P,
3733: AOSA (P)
3734:
3735:
3736: TMPCLR: JSP TEM,TMPDR2
3737:
3738:
3739: TMPDEL: MOVE AC2,TMPLNK(AC1)
3740: TRNE AC2,-1
3741: HLLM AC2,(AC2)
3742: MOVS AC2,AC2
3743: HLRM AC2,(AC2)
3744: JRST FSGIVE
UUOCON page# 0113 next prev
3746:
3747: TMPWRT: PUSHJ P,TMPFND
3748: JRST .+2
3749: PUSHJ P,TMPDEL
3750: PUSHJ P,TMPSET
3751: JRST TMPSIZ
3752: MOVSI DAT,(TAC1)
3753: PUSHJ P,TMPSIZ
3754: CAILE AC2,(TAC1)
3755: POPJ P,
3756: MOVEI AC3,TMPDAT(AC2)
3757: PUSHJ P,UFSGET
3758: PUSHJ P,TMPSET
3759: JRST TMPWRX
3760: MOVSI DAT,(TAC1)
3761: MOVSI TAC1,JBTTCR(DSER)
3762: HRR TAC1,JBTTCR(DSER)
3763: MOVEM TAC1,TMPLNK(AC1)
3764: HRRM AC1,JBTTCR(DSER)
3765: HRLM AC1,(TAC1)
3766: XCTR XR,[HLL AC2,(TAC)]
3767: MOVEM AC2,TMPNAM(AC1)
3768: MOVEM UUO,TMPPPN(AC1)
3769: HRRI DAT,TMPDAT(AC1)
3770: ADDI AC2,(DAT)
3771: BLT DAT,-1(AC2)
3772: JRST TMPSZ1
3773:
3774:
3775: TMPDIR: MOVEI TEM,CPOPJ
3776: TMPDR2: PUSHJ P,TMPSET
3777: JFCL
3778: JUMPL TAC1,UUOERR
3779: MOVSI AC2,1(AC2)
3780: MOVN AC2,AC2
3781: HRRI AC2,(TAC1)
3782: MOVEI TAC1,
3783: JSP DAT,TMPSCN
3784: PUSHJ P,TMPDR1
3785: CAIA
3786: JRST CPOPJ1
3787:
3788: TMPDR1: MOVE TAC,TMPNAM(AC1)
3789: AOBJP AC2,.+2
3790: MOVEM TAC,-1(AC2)
3791: AOJA TAC1,(TEM)
3792:
3793:
3794: TMPKIL: MOVEI DSER,(J)
3795: JSP DAT,TM1SCN
3796: PUSHJ P,TMPDEL
3797: CAIA
3798: POPJ P,
UUOCON page# 0114 next prev
3800: SUBTTL UUOCON IO SECTION
3801:
3802:
3803:
3804:
3805:
3806:
3807:
3808:
3809:
3810:
3811:
3812:
3813:
3814:
3815:
3816:
3817:
3818:
3819:
3820:
3821:
3822:
3823:
3824:
3825:
UUOCON page# 0115 next prev
3827:
3828:
3829:
3830:
3831: IOPUSH: SKIPE AC1,JBTIOP(J)
3832: JRST IOPSH1
3833: MOVEI AC3,IOPDLN
3834: PUSHJ P,UFSGET
3835: MOVEM AC1,JBTIOP(J)
3836: IOPSH1: HLRZ AC3,AC1
3837: CAIN AC3,-IOPDLN
3838: POPJ P,
3839: SUBM AC1,AC3
3840: CAMLE UCHN,USRHCU
3841: TDZA DDB,DDB
3842: MOVE DDB,USRJDA(UCHN)
3843: MOVEM DDB,(AC3)
3844: SETZM USRJDA(UCHN)
3845: SKIPN TAC,USRHCU
3846: JRST IOPSH2
3847: IOPSH3: SKIPN USRJDA(TAC)
3848: SOJG TAC,IOPSH3
3849: MOVEM TAC,USRHCU
3850: IOPSH2: MOVEM UCHN,1(AC3)
3851: HRLM UUO,1(AC3)
3852: SUB AC1,[2,,0]
3853: IOPOP3: MOVEM AC1,JBTIOP(J)
3854: JRST CPOPJ1
3855:
3856:
3857:
3858: IOPOP: PUSHJ P,FIOPID
3859: POPJ P,
3860: IOPOP0: SKIPE DDB,USRJDA(UCHN)
3861: CAMLE UCHN,USRHCU(PID)
3862: JRST IOPOP2
3863: HRRZ DSER,DEVSER(DDB)
3864: PUSH P,AC3
3865: PUSHJ P,RELEA0
3866: POP P,AC3
3867: IOPOP2: MOVE DDB,(AC3)
3868: MOVEM DDB,USRJDA(UCHN)
3869: JUMPE DDB,IOPOP4
3870: IOPOP1: CAMG UCHN,USRHCU
3871: JRST IOPOP4
3872: AOS TAC,USRHCU
3873: SETZM USRJDA(TAC)
3874: JRST IOPOP1
3875:
3876: IOPOP4: MOVE AC1,JBTIOP(J)
3877: ADD AC1,[2,,0]
3878: JUMPG AC1,IOPOP5
3879: HLRE AC2,AC1
3880: SUBM AC1,AC2
3881: HRRZ AC3,AC3
3882: CAIN AC3,(AC2)
3883: JRST IOPOP3
3884: HRLI AC3,2(AC3)
3885: BLT AC3,-1(AC2)
3886: JRST IOPOP3
3887:
3888: IOPOP5: SETZM JBTIOP(J)
3889: AOS (P)
3890: JRST FSGIVE
3891:
3892: IOPDL: CAIL UCHN,IOPDLL
3893: JRST UUOERR
3894: JRST @IOPDLD(UCHN)
3895:
3896:
3897:
3898: IOPDL0: SKIPL AC3,JBTIOP(J)
3899: POPJ P,
3900: HLRE AC1,AC3
3901: SUB AC3,AC1
3902: HRRZ UCHN,-1(AC3)
3903: TRZ UUO,-1
3904: PUSHJ P,IOPOP
3905: POPJ P,
3906: JRST IOPDL
3907:
3908:
3909:
3910: IOPDL1: SKIPL JBTIOP(J)
3911: POPJ P,
3912: TRZ UUO,-1
3913: PUSHJ P,IOPDL2
3914: POPJ P,
3915: JRST IOPDL1
3916:
3917:
3918:
3919: IOPDL2: PUSHJ P,FIOPID
3920: POPJ P,
3921: MOVE DDB,(AC3)
3922: EXCH DDB,USRJDA
3923: MOVEM DDB,(AC3)
3924: SETZ UCHN,
3925: JRST IOPOP0
3926:
3927: IOPDLD: IOPDL0
3928: IOPDL1
3929: IOPDL2
3930: IOPDLL←←.-IOPDLD
3931:
3932: FIOPID: SKIPL AC3,JBTIOP(J)
3933: POPJ P,
3934: HLRE AC1,AC3
3935: SUBI AC3,2(AC1)
3936: MOVNI AC1,2(AC1)
3937: HRL AC3,AC1
3938: TRNN UUO,-1
3939: JRST CPOPJ1
3940: IOPID1: HLRZ AC1,1(AC3)
3941: CAIN AC1,(UUO)
3942: JRST CPOPJ1
3943: SUB AC3,[2,,2]
3944: JUMPG AC3,IOPID1
3945: POPJ P,
UUOCON page# 0116 next prev
3947:
3948:
3949:
3950:
3951:
3952:
3953:
3954:
3955:
3956:
3957:
UUOCON page# 0117 next prev
3959:
3960:
3961: ↑CLOSE1:
3962: PUSHJ PDP,WAIT1
3963: ANDCMI UUO,777774
3964: TRNN UUO,CLSIN
3965: TLOE DEVDAT,ICLOSB
3966: JRST UCLS2
3967: LDB TAC,PIOMOD
3968: CAIN TAC,2
3969: POPJ PDP,
3970: CAIGE TAC,SD
3971: JRST UCLSBI
3972: UCLS5: PUSHJ PDP,DCLI(DSER)
3973: JRST UCLS2
3974: UCLSBI: MOVE TAC,DEVMOD(DEVDAT)
3975: TLNE DEVDAT,INBFB+INPB
3976: JRST UCLS4
3977: TLNE TAC,DVDSK!DVIMP
3978: JRST UCLS5
3979: JRST UCLS2
3980: UCLS4: TLNE TAC,DVLNG
3981: PUSHJ PDP,DCLI(DSER)
3982: HRRZ TAC1,DEVBUF(DEVDAT)
3983: XCTR XR,[HRRZ DAT,(TAC1)]
3984: LDB AC3,PDVBLN
3985: ADDI AC3,(DAT)
3986: XCTR XRW,[MOVES (AC3)]
3987: XCTR XR,[HRR TAC1,(TAC1)]
3988: HRLZI TAC,IOUSE
3989: JUMPE DAT,UCLS1
3990: SETZM AC1
3991: LDB TEM,PDVBLN
3992: HLRZ AC3,PROG
3993: IDIVI AC3,(TEM)
3994: ADDI AC3,2
3995: UCLS0: XCTR XR,[HRR DAT,(DAT)]
3996: CAIN AC1,(DAT)
3997: JRST UCLS1
3998: MOVEI AC1,(DAT)
3999: XCTR XRW,[ANDCAM TAC,(DAT)]
4000: SOJL AC3,UCLS1
4001: CAME TAC1,DAT
4002: JRST UCLS0
UUOCON page# 0118 next prev
4004:
4005:
4006: UCLS1: HRRZ DAT,DEVBUF(DEVDAT)
4007: XCTR XRW,[IORM TAC,(DAT)]
4008: XCTR XW,[SETZM 2(DAT)]
4009: MOVE IOS,[XWD IOEND,IODEND]
4010: ANDCAB IOS,DEVIOS(DEVDAT)
4011: UCLS2: TRNN UUO,CLSOUT
4012: TLOE DEVDAT,OCLOSB
4013: JRST UCLS3
4014: LDB TAC,PIOMOD
4015: CAIN TAC,2
4016: JRST UCLS3
4017: CAIGE TAC,SD
4018: JRST UCLSBO
4019: UCLS7: PUSHJ PDP,DCL(DSER)
4020: JRST UCLS3
4021: UCLSBO: TLNN DEVDAT,OUTBFB+OUTPB
4022: JRST UCLS6
4023: HLR DAT,DEVBUF(DEVDAT)
4024: XCTR XR,[SKIPG (DAT)]
4025: JRST UCLS6
4026: HLRZ AC1,PROG
4027: LDB AC2,PSEGN
4028: HLRZ AC2,JBTADR(AC2)
4029: ADDI AC1,2(AC2)
4030: LDB AC2,PDVBLN
4031: ADDI AC2,2
4032: IDIVI AC1,(AC2)
4033: PUSH P,AC1
4034: UCLS2A: MOVE DSER,DEVSER(DEVDAT)
4035: MOVE AC1,DEVOAD(DEVDAT)
4036: SOSL (P)
4037: XCTR XR,[SKIPL (AC1)]
4038:
4039: JRST UCLS2B
4040:
4041: TRZ IOS,760000
4042: PUSH PDP,UUO
4043: PUSHJ PDP,DOU(DSER)
4044: POP PDP,UUO
4045: PUSHJ PDP,WAIT1
4046: TRNN IOS,760000
4047: JRST UCLS2A
UUOCON page# 0119 next prev
4049:
4050:
4051:
4052: UCLS2B: SUB P,[XWD 1,1]
4053: MOVE DSER,DEVSER(DEVDAT)
4054: PUSHJ PDP,DCL(DSER)
4055: HLRZ DAT,DEVBUF(DEVDAT)
4056: HRLZI TAC,IOUSE
4057: XCTR XRW,[IORM TAC,(DAT)]
4058: XCTR XW,[SETZM 2(DAT)]
4059: PUSHJ PDP,WAIT1
4060: TLO DEVDAT,OCLOSB
4061: UCLS3: HLLM DEVDAT,USRJDA(UCHN)
4062: POPJ PDP,
4063:
4064: UCLS6: MOVSI TAC,DVDSK!DVIMP
4065: TDNE TAC,DEVMOD(DEVDAT)
4066: JRST UCLS7
4067: JRST UCLS3
UUOCON page# 0120 next prev
4069:
4070:
4071:
4072:
4073:
4074:
4075:
4076:
4077:
4078:
4079:
4080:
4081:
UUOCON page# 0121 next prev
4083:
4084:
4085: UOUTBF:
4086: TLNN DEVDAT,OBUFB
4087: JRST ILLOBF
4088: TLO DEVDAT,OUTBFB
4089: PUSH PDP,BUFPNT
4090: PUSHJ PDP,BUFCLC
4091: UOBF2: HLR TAC,DEVBUF(DEVDAT)
4092: HRRM BUFPNT,DEVOAD(DEVDAT)
4093:
4094: UOBF1: XCTR XW,[MOVEM BUFPNT,(TAC)]
4095:
4096:
4097: LDB TAC,PUUOAC
4098: MOVEM DEVDAT,USRJDA(TAC)
4099: POP PDP,BUFPNT
4100: POPJ PDP,
4101:
4102: UINBF:
4103: TLNN DEVDAT,IBUFB
4104: JRST ILLIBF
4105: TLO DEVDAT,INBFB
4106: PUSH PDP,BUFPNT
4107: PUSHJ PDP,BUFCLC
4108: UINBF1: HRRM BUFPNT,DEVIAD(DEVDAT)
4109:
4110: HRR TAC,DEVBUF(DEVDAT)
4111: JRST UOBF1
UUOCON page# 0122 next prev
4113:
4114:
4115:
4116:
4117:
4118:
4119:
4120: MINBF: PUSHJ PDP,CHNSET
4121: JFCL
4122: JRST CHNERR
4123: TLNN DEVDAT,IBUFB
4124: JRST ILLIBF
4125: TLO DEVDAT,INBFB
4126: PUSH PDP,BUFPNT
4127: PUSHJ PDP,MBFSET
4128: JRST UINBF1
4129:
4130: CHNERR: PUSHACS
4131: PUSHJ P,DISDATE
4132: PUSHJ P,DISERR
4133: [ASCIZ/IO TO UNASSIGNED CHANNEL AFTER UUO LEVEL CHECK.
4134: CALLED FROM MINFB OR MOUTBF. J=/]
4135: DISARG(DCP,<-20+J(P)>)
4136: [ASCIZ/ UUO=/]
4137: DISARG(OCT,<-21+UUO(P)>)
4138: [ASCIZ/
4139: /]
4140: -1
4141: POPACS
4142: JSP DAT,UERROR
4143:
4144: MOUTBF: PUSHJ PDP,CHNSET
4145: JFCL
4146: JRST CHNERR
4147: TLNN DEVDAT,OBUFB
4148: JRST ILLOBF
4149: TLO DEVDAT,OUTBFB
4150: PUSH PDP,BUFPNT
4151: PUSHJ PDP,MBFSET
4152: JRST UOBF2
4153:
4154: MBFSET: MOVE AC1,UUO
4155: XCTR XR,[HRR UUO,(AC1)]
4156: XCTR XR,[MOVM TAC,1(AC1)]
4157: JRST BUFCLM
UUOCON page# 0123 next prev
4159:
4160:
4161: ILLOBF: JSP TAC,ERRPTU
4162: ASCIZ /OUTPUT /
4163: PUSHJ PDP,ERNAM
4164: JSP TAC,UUOMES
4165: ASCIZ / HAS NO OUTPUT BUFFER HEADER, UUO/
4166:
4167: ILLIBF: JSP TAC,ERRPTU
4168: ASCIZ /INPUT /
4169: PUSHJ PDP,ERNAM
4170: JSP TAC,UUOMES
4171: ASCIZ / HAS NO INPUT BUFFER HEADER, UUO/
UUOCON page# 0124 next prev
4173:
4174:
4175:
4176:
4177:
4178:
4179:
4180:
4181:
4182:
4183:
4184:
4185:
4186: ↑UOPEN: XCTR XR,[SKIP 2(UUO)]
4187: MOVEI DAT,1(UUO)
4188: XCTR XR,[HRR UUO,(UUO)]
4189: JRST UINIT0
UUOCON page# 0125 next prev
4191:
4192:
4193:
4194:
4195:
4196:
4197:
4198:
4199:
4200:
4201:
4202:
4203:
4204:
4205:
4206:
4207:
4208:
4209:
4210:
4211:
4212:
UUOCON page# 0126 next prev
4214:
4215:
4216: ↑UINIT: MOVE DAT,UUOPC(ITEM)
4217: PUSHJ P,UINIT0
4218: JRST .+2
4219: AOS UUOPC(ITEM)
4220: AOS UUOPC(ITEM)
4221: JRST CPOPJ1
4222:
4223: UINIT0: PUSH PDP,DAT
4224: UINITG: SKIPE DEVDAT,USRJDA(UCHN)
4225: CAMLE UCHN,USRHCU(PID)
4226:
4227: JRST UINITA
4228: PUSH PDP,UUO
4229: PUSH PDP,DAT
4230: PUSHJ PDP,RELEA0
4231: POP PDP,DAT
4232: POP PDP,UUO
4233: UINITA: XCTR XR,[MOVE TAC,(DAT)]
4234: UINITK: MOVE J,JOB(PID)
4235: PUSHJ P,DEVSRC
4236:
4237:
4238: JRST UINXIT
4239: MOVE AC1,DEVCMR(DDB)
4240: TLNE AC1,DEVMAS
4241: JRST UNITAC
4242: UNITAD: MOVE TAC,DEVNAM(DDB)
4243: CAME TAC,[SIXBIT /DSK/]
4244: CAME TAC,SYSTAP
4245: JRST UINITB
4246: AOSE STREQ
4247: PUSHJ PDP,STWAIT
4248: MOVEM ITEM,STUSER
4249:
4250: UINITB:
4251: MOVEI TAC1,ASSPRG
4252: PUSHJ PDP,ASSASG
4253: JRST UINITW
4254: PUSHJ P,SETMOD
4255: JRST UINITR
4256: MOVSI IOS,IOBEG
4257: IORB IOS,DEVIOS(DEVDAT)
4258:
4259: MOVE TAC,DEVMOD(DDB)
4260: TLNE TAC,DVTTY
4261: TLNE TAC,TTYATC
4262: JRST UINITL
4263: MOVSI IOS,TPMON
4264: ANDCAB IOS,DEVIOS(DDB)
4265: UINITL: SKIPGE USRHCU(PID)
4266: SETZM USRHCU(PID)
4267: UINITM: CAMG UCHN,USRHCU(PID)
4268: JRST UINITC
4269: AOS TAC,USRHCU(PID)
4270: SETZM USRJDA(TAC)
4271: JRST UINITM
4272:
4273: UNITAC: PUSH P,DDB
4274: UNTAC1: LDB AC1,PJOBN
4275: CAIN AC1,(J)
4276: JRST UNTAD1
4277: PUSHJ P,DEVLP2
4278: CAIA
4279: JRST UNTAC1
4280: POP P,DDB
4281: JSP TAC,ERRPTU
4282: ASCIZ /MUST ASSIGN /
4283: PUSHJ P,ERNAM
4284: JRST EXCALP
4285:
4286: UNTAD1: POP P,(P)
4287: JRST UNITAD
4288:
4289:
4290:
4291: UINITC: POP PDP,DAT
4292: TLO DEVDAT,INITB
4293: XCTR XR,[HLRZ TAC1,1(DAT)]
4294: JUMPE TAC1,UINIT4
4295: HRLM TAC1,DEVBUF(DEVDAT)
4296: TLO DEVDAT,OBUFB
4297: PUSHJ PDP,UINITZ
4298: UINIT4: XCTR XR,[HRRZ TAC1,1(DAT)]
4299: JUMPE TAC1,UINIT5
4300: HRRM TAC1,DEVBUF(DEVDAT)
4301: TLO DEVDAT,IBUFB
4302: MOVSI IOS,IOEND
4303: ANDCAB IOS,DEVIOS(DEVDAT)
4304: PUSHJ PDP,UINITZ
4305: UINIT5: MOVEM DEVDAT,USRJDA(UCHN)
4306:
4307: JRST CPOPJ1
4308:
4309: UINXIT: POP P,DAT
4310: POPJ P,
4311:
4312: UINITR: PUSH P,DDB
4313: JSP TAC,ERRPTU
4314: ASCIZ /ILLEGAL DATA MODE FOR /
4315: PUSHJ P,ERNAM
4316: EXCH DDB,(P)
4317: PUSHJ P,RELEA7
4318: POP P,DDB
4319: JRST EXCALP
UUOCON page# 0127 next prev
4321:
4322:
4323:
4324:
4325: UINITW: TRNE UUO,400
4326: JRST UINXIT
4327: MOVE TAC1,JBTPRV(J)
4328: TLNE TAC1,LUPPRV
4329: JRST UINTW1
4330: MOVE TAC1,DEVCMR(DDB)
4331: TLNE TAC1,DEVLUP
4332: JRST UINXIT
4333: UINTW1: HRRZM DDB,JBTDVW(J)
4334: PUSH P,UUO
4335: PUSH P,UUOPC(J)
4336: PUSH P,UCHN
4337: TRNE UUO,IOPAR
4338: JRST SETWAT
4339: SETIWT: PUSHJ P,TTYFUW
4340: HRRZ TAC1,JBTDVW(J)
4341: MOVE TAC1,DEVNAM(TAC1)
4342: PUSHJ P,PRNAME
4343: PUSHJ P,TYPGO
4344: TYPE { IS BUSY, WILL YOU WAIT?}
4345: PUSHJ P,UCTEXT
4346: HRRZ DDB,JBTDVW(J)
4347: MOVE TAC,[XWD TTYATC,ASSCON!ASSPRG]
4348: TDNE TAC,DEVMOD(DDB)
4349: JRST SETRC
4350: LDB TEM,PJOBN
4351: JUMPE TEM,GOTIT
4352: SETRC: CAME TAC1,[SIXBIT /Y/]
4353: CAMN TAC1,[SIXBIT /YES/]
4354: CAIA
4355: JRST SETNOW
4356: SETWAT: MOVEI TAC1,DWQ
4357: MOVNM TAC1,JOBQUE(J)
4358: PUSHJ P,WSCHED
4359: HRRZ DDB,JBTDVW(J)
4360: MOVE TAC,[XWD TTYATC,ASSCON+ASSPRG]
4361: TDNE TAC,DEVMOD(DDB)
4362: JRST SETWAT
4363: LDB TEM,PJOBN
4364: JUMPE TEM,GOTIT
4365: CAIE TEM,(J)
4366: JRST SETWAT
4367: GOTIT: TYPE {GOTCHA!}
4368: POP P,UCHN
4369: POP P,UUOPC(J)
4370: POP P,UUO
4371: MOVE DAT,(P)
4372: JRST UINITG
UUOCON page# 0128 next prev
4374:
4375:
4376: SETNOW: TYPE {DIRECT IO TO DISK?}
4377: PUSHJ P,UCTEXT
4378: JUMPN TAC1,SETERY
4379: SETERX: POP P,UCHN
4380: POP P,UUOPC(J)
4381: POP P,UUO
4382: HRRZ DDB,JBTDVW(J)
4383: JRST UINXIT
4384: SETERY: CAME TAC1,[SIXBIT /Y/]
4385: CAMN TAC1,[SIXBIT /YES/]
4386: CAIA
4387: JRST SETERX
4388: MOVSI TAC,'DSK'
4389: POP P,UCHN
4390: POP P,UUOPC(J)
4391: POP P,UUO
4392: JRST UINITK
4393:
4394: UCTEXT:
4395: INCHWL JOBTM5
4396: MOVEI DAT,TTIBUF(DDB)
4397: PUSHJ P,CTEXT1
4398: PUSHJ P,SKPBRK
4399: POPJ P,
UUOCON page# 0129 next prev
4401:
4402:
4403:
4404:
4405:
4406:
4407:
4408: UINITZ: XCTR XW,[SETZM (TAC1)]
4409: XCTR XW,[SETZM 2(TAC1)]
4410: PUSH P,TAC1
4411: PUSHJ P,SETBYT
4412: TLZ TAC,770077
4413: POP P,TAC1
4414: XCTR XRW,[HLLM TAC,1(TAC1)]
4415: POPJ P,
UUOCON page# 0130 next prev
4417:
4418:
4419:
4420:
4421:
4422:
4423:
4424: UDEN: MOVEI TAC,CLSIN
4425: TLNN DDB,ENTRB
4426: JRST UDEN1
4427: TLNN DEVDAT,OCLOSB
4428: PUSHJ PDP,UDLKC
4429: UDEN1: TLO IOS,IOBEG
4430: TRZ IOS,776000
4431: MOVEM IOS,DEVIOS(DEVDAT)
4432: TLO DEVDAT,ENTRB
4433: TLZ DEVDAT,OCLOSB
4434: HLLM DEVDAT,USRJDA(UCHN)
4435: JRST DEN(DSER)
4436:
4437:
4438:
4439:
4440:
4441: UDLK: MOVEI TAC,CLSOUT
4442: TLNN DEVDAT,ICLOSB
4443: PUSHJ PDP,UDLKC
4444: TDZ IOS,[XWD IOEND,776000]
4445: MOVEM IOS,DEVIOS(DEVDAT)
4446: TLO DEVDAT,LOOKB
4447: TLZ DEVDAT,ICLOSB
4448: HLLM DEVDAT,USRJDA(UCHN)
4449: JRST DLK(DSER)
4450:
4451:
4452: ↑UDLKC: PUSH PDP,UUO
4453: HRRI UUO,(TAC)
4454: PUSHJ PDP,CLOSE1
4455: POP PDP,UUO
4456: JRST WAIT1
UUOCON page# 0131 next prev
4458:
4459:
4460:
4461:
4462: URENAM: MOVE TAC,DEVMOD(DEVDAT)
4463: TLNE TAC,DVLNG
4464: JRST DRN(DSER)
4465: JRST CPOPJ1
4466:
4467:
4468:
4469: UDSO: JRST DSO(DSER)
4470:
4471:
4472:
4473: UDSI: JRST DSI(DSER)
4474:
4475:
4476:
4477: UDGF: JRST DGF(DSER)
4478:
4479:
4480:
4481: UMTAPE: JRST DMT(DSER)
4482:
4483:
4484:
4485: UTPCLR: MOVE TAC,DEVMOD(DEVDAT)
4486: TLNN TAC,DVLNG
4487: POPJ PDP,
4488: JRST DCLR(DSER)
UUOCON page# 0132 next prev
4490:
4491:
4492:
4493:
4494:
4495:
4496:
4497:
4498:
4499:
4500:
4501:
4502:
4503:
4504:
4505:
4506:
4507:
4508:
4509:
4510:
4511:
UUOCON page# 0133 next prev
4513:
4514:
4515: SETFILE:TYPE {PLEASE TYPE FILE NAME.}
4516: INCHWL JOBTM5
4517: MOVEI DAT,TTIBUF(DDB)
4518: PUSHJ P,CTEXT1
4519: JUMPN TAC1,NOCLR
4520: CLRIN: PUSHJ P,SKPBRK
4521: JRST SETFILE
4522: NOCLR: MOVEM TAC1,JOBTM1(PROG)
4523: PUSHJ P,CTEXT1
4524: HLLZM TAC1,JOBTM2(PROG)
4525: SETZM JOBTM3(PROG)
4526: PUSHJ P,PJPGNO
4527: IFE FTDSKPPN,<MOVE AC2,PRJPRG(J)>
4528: IFN FTDSKPPN,< JRST [SKIPN AC2,DSKPPN(J)
4529: MOVE AC2,PRJPRG(J)
4530: JRST .+1]>
4531: MOVEM AC2,JOBTM4(PROG)
4532: PUSHJ P,SKPBRK
4533: POPJ P,
4534:
4535:
4536: ↑IN: MOVE TAC,DEVMOD(DDB)
4537: TLNE TAC,DVDSK
4538: TLNE DDB,LOOKB
4539: JRST IN2
4540: PUSH P,UUO
4541: PUSH P,UUOPC(J)
4542: PUSH P,UCHN
4543: TYPE {LOOKUP NEEDED.}
4544: IN4: PUSHJ P,SETFILE
4545: MOVE UUO,[LOOKUP JOBTM1]
4546: MOVE UCHN,(P)
4547: DPB UCHN,PUUOAC
4548: XCT UUO
4549: CAIA
4550: JRST IN5
4551: TYPE {LOOKUP FAILED}
4552: JRST IN4
4553: IN5: POP P,UCHN
4554: POP P,UUOPC(J)
4555: POP P,UUO
4556: MOVE DDB,USRJDA(UCHN)
4557: HRRZ DSER,DEVSER(DDB)
4558: MOVE IOS,DEVIOS(DDB)
UUOCON page# 0134 next prev
4560:
4561:
4562: IN2: TLNE IOS,IO
4563: PUSHJ PDP,WAIT1
4564: TLO DEVDAT,INPB
4565: TLZ DEVDAT,ICLOSB
4566: HLLM DEVDAT,USRJDA(UCHN)
4567: LDB TAC,PIOMOD
4568: CAIE TAC,2
4569: CAIL TAC,SD
4570: JRST INDMP
4571: TLNN DEVDAT,IBUFB
4572: JRST ADRERR
4573: IN1: HRR JBUF,DEVBUF(DDB)
4574: MOVSI TAC,IOUSE
4575: MOVE IOS,DEVIOS(DDB)
4576: XCTR XR,[SKIPG (JBUF)]
4577:
4578: JRST INPUTF
4579: PUSHJ P,BCHECK
4580: JRST ADRERR
4581: XCTR XR,[MOVE TAC1,(JBUF)]
4582: MOVE IOS,DEVIOS(DDB)
4583: XCTR XR,[TDNN TAC,(TAC1)]
4584: JRST INPT1
4585: XCTR XRW,[ANDCAB TAC,(TAC1)]
4586:
4587:
4588:
4589: XCTR XRW,[HRRM TAC,(JBUF)]
4590: TRNE IOS,IOACT
4591: JRST INPT0C
4592: MOVE AC1,DEVMOD(DEVDAT)
4593: TLNN AC1,DVTTY
4594: XCTR XR,[HRR TAC,(TAC)]
4595:
4596: XCTR XR,[SKIPL (TAC)]
4597: PUSHJ P,CALIN
UUOCON page# 0135 next prev
4599:
4600:
4601: INPT0C: XCTR XR,[HRR TAC1,(TAC1)]
4602: INPT0A: XCTR XR,[SKIPGE (TAC1)]
4603: JRST INPUT2
4604: INPT2:
4605: PUSHJ P,WSYNC
4606: XCTR XR,[SKIPL (TAC1)]
4607: JRST INEOF
4608: INPUT2: ADDI TAC1,1
4609: XCTR XR,[HRRZ ITEM,(TAC1)]
4610: SOJA TAC1,IOSETC
4611:
4612: INPT1: TRNN IOS,IOACT
4613: PUSHJ P,CALIN
4614: JRST INPT2
4615:
4616: INEOF: TDNN IOS,[XWD IOEND,IODEND!IODERR!IOBKTL!IODTER!IOIMPM]
4617:
4618: JRST INEOFE
4619: TLNE IOS,IOEND
4620: TRO IOS,IODEND
4621: IORM IOS,DEVIOS(DDB)
4622: POPJ P,
4623:
4624: INEOFE: JSP DAT,UERROR
4625: POPJ P,
UUOCON page# 0136 next prev
4627:
4628: INPUTF: XCTR XRW,[ANDCAB TAC,(JBUF)]
4629:
4630:
4631:
4632: JUMPE TAC,INPUT3
4633: PUSHJ P,BCHECK
4634: JRST ADRERR
4635: XCTR XR,[MOVE TAC1,(JBUF)]
4636: XCTR XR,[SKIPG (TAC1)]
4637: JRST INPUT2
4638: HRRM TAC,DEVIAD(DDB)
4639:
4640: PUSHJ P,CALIN
4641:
4642: JRST INPT0A
4643:
4644: INPUT3: HRRI UUO,2
4645: PUSHJ P,UINBF
4646: HRRI UUO,0
4647: JRST IN1
4648:
4649:
4650: INDMP: PUSHJ P,DDI(DSER)
4651: JRST WSYNC
4652:
4653:
4654:
4655:
UUOCON page# 0137 next prev
4657:
4658:
4659: CALIN: TLNE IOS,IOEND
4660: POPJ P,
4661: PUSH P,TAC1
4662: PUSH P,JBUF
4663: HRRZ AC1,DEVIAD(DDB)
4664: CAIG AC1,JOBPFI
4665: JRST ADRERR
4666: XCTR XR,[HLRZ AC2,(AC1)]
4667: TRZ AC2,IOUSE
4668: ADD AC1,AC2
4669: XCTR XRW,[MOVES (AC1)]
4670: PUSHJ P,DIN(DSER)
4671: POP P,JBUF
4672: POP P,TAC1
4673: POPJ P,
4674:
4675: ↑BCHECK:MOVEI AC1,(JBUF)
4676: CAIG AC1,JOBPFI
4677: POPJ P,
4678: XCTR XRW,[MOVES AC1,(AC1)]
4679: HRRZ AC1,AC1
4680: CAIG AC1,JOBPFI
4681: POPJ P,
4682: XCTR XRW,[MOVES (AC1)]
4683: JRST CPOPJ1
UUOCON page# 0138 next prev
4685:
4686:
4687:
4688:
4689:
4690:
4691:
4692:
4693:
4694:
4695:
4696:
4697:
4698:
4699:
4700:
4701:
4702:
4703:
4704:
4705:
4706:
4707:
4708:
4709:
4710:
4711:
4712:
4713:
4714:
4715:
4716:
4717:
4718:
4719:
4720:
4721:
4722:
4723:
4724:
4725:
4726:
4727:
UUOCON page# 0139 next prev
4729:
4730:
4731:
4732: UOUT: MOVE TAC,DEVMOD(DDB)
4733: TLNE TAC,DVDSK
4734: TLNE DDB,ENTRB
4735: JRST UOUT1
4736: PUSH P,UUO
4737: PUSH P,UUOPC(J)
4738: PUSH P,UCHN
4739: TYPE {ENTER NEEDED.}
4740: OUT4: PUSHJ P,SETFILE
4741: MOVE UUO,[LOOKUP JOBTM1]
4742: MOVE UCHN,(P)
4743: DPB UCHN,PUUOAC
4744: PUSH P,JOBTM4(PROG)
4745: XCT UUO
4746: JRST OUT5
4747: POP P,JOBTM4(PROG)
4748: TYPE {FILE ALREADY EXISTS. DELETE?}
4749: INCHWL JOBTM5
4750: MOVEI DAT,TTIBUF(DDB)
4751: PUSHJ P,CTEXT1
4752: PUSHJ P,SKPBRK
4753: CAME TAC1,['Y ']
4754: CAMN TAC1,['YES ']
4755: JRST OURDN
4756: JRST OUT4
4757: OUT5: POP P,JOBTM4(PROG)
4758: OURDN: HLLZS JOBTM2(PROG)
4759: SETZM JOBTM3(PROG)
4760: MOVE UUO,[CLOSE]
4761: MOVE UCHN,(P)
4762: DPB UCHN,PUUOAC
4763: XCT UUO
4764: MOVE UUO,[ENTER JOBTM1]
4765: MOVE UCHN,(P)
4766: DPB UCHN,PUUOAC
4767: XCT UUO
4768: CAIA
4769: JRST OUT3
4770: TYPE {ENTER FAILED}
4771: JRST OUT4
4772: OUT3: POP P,UCHN
4773: POP P,UUOPC(J)
4774: POP P,UUO
4775: MOVE DDB,USRJDA(UCHN)
4776: MOVE IOS,DEVIOS(DDB)
4777: HRRZ DSER,DEVSER(DDB)
UUOCON page# 0140 next prev
4779:
4780:
4781: UOUT1: TLO DEVDAT,OUTPB
4782: TLZ DEVDAT,OCLOSB
4783:
4784:
4785:
4786: ↑OUT: TLNN IOS,IO
4787: PUSHJ PDP,WAIT1
4788: HLLM DEVDAT,USRJDA(UCHN)
4789: LDB TAC,PIOMOD
4790: CAIE TAC,2
4791: CAIL TAC,SD
4792: JRST OUTDMP
4793: TLNN DDB,OBUFB
4794: JRST ADRERR
4795: PUSHJ PDP,OUTA
4796:
4797: HLR JBUF,DEVBUF(DEVDAT)
4798: XCTR XR,[SKIPG TAC1,(JBUF)]
4799:
4800: JRST OUTF
4801: PUSHJ P,BCHECK
4802: JRST ADRERR
4803: XCTR XR,[SKIPG (TAC1)]
4804: JRST OUTAGN
4805: AOS JBUF
4806: XCTR XR,[HRRZ TAC,(JBUF)]
4807: ADDI TAC1,1
4808: SKIPN TAC
4809: TDZA TAC,TAC
4810: SUB TAC,TAC1
4811: TRNE IOS,IOWC
4812:
4813: JRST OUT2
4814: HRRZ AC1,TAC1
4815: ADDI AC1,(TAC)
4816: XCTR XRW,[MOVES (AC1)]
4817: SOJ TAC1,
4818: XCTR XLB,[LDB AC1,[POINT 17,(TAC1),17]]
4819: CAMLE TAC,AC1
4820: JRST ADRERR
4821: AOJ TAC1,
4822: XCTR XRW,[HRRM TAC,(TAC1)]
UUOCON page# 0141 next prev
4824:
4825:
4826:
4827: OUT2: SUBI JBUF,1
4828:
4829: SUBI TAC1,1
4830:
4831: HRLZI TAC,IOUSE
4832: XCTR XRW,[IORB TAC,(TAC1)]
4833: XCTR XRW,[HRRM TAC,(JBUF)]
4834: XCTR XRW,[HLLZS 1(JBUF)]
4835: OUTAGN: XCTR XW,[SETZM 2(JBUF)]
4836: MOVE IOS,DEVIOS(DEVDAT)
4837: MOVSI AC1,DEVAOA
4838: TDNN AC1,DEVCMR(DEVDAT)
4839: TRNN IOS,IOACT
4840: PUSHJ PDP,DOU(DSER)
4841: HLR JBUF,DEVBUF(DEVDAT)
4842: XCTR XR,[MOVE TAC1,(JBUF)]
4843: XCTR XR,[SKIPL (TAC1)]
4844: JRST OUTS
4845: TRNE IOS,740000
4846: POPJ P,
4847: PUSHJ P,WSYNC
4848: JRST OUTS
4849:
4850: OUTF: XCTR XR,[SKIPE TAC1,(JBUF)]
4851: JRST OUTF1
4852: HRRI UUO,2
4853: PUSHJ PDP,UOUTBF
4854: HLR JBUF,DEVBUF(DEVDAT)
4855: OUTF1: PUSHJ P,BCHECK
4856: JRST ADRERR
4857: MOVSI TAC,IOUSE
4858: XCTR XRW,[ANDCAB TAC,(JBUF)]
4859: HRRM TAC,DEVOAD(DEVDAT)
4860: OUTS: XCTR XR,[HRRZ TAC,(JBUF)]
4861: PUSHJ P,BUFCLR
4862: JRST ADRERR
4863: XCTR XR,[HRR TAC1,(JBUF)]
4864: XCTR XLB,[LDB ITEM,[POINT 17,(TAC1),17]]
4865: SOJA ITEM,IOSETC
4866:
4867:
4868:
4869:
4870:
4871: OUTDMP: PUSHJ PDP,DDO(DSER)
4872:
4873:
4874: JRST WSYNC
UUOCON page# 0142 next prev
4876:
4877:
4878:
4879:
4880:
4881:
4882:
4883:
4884: ↑OUTA: TRNN UUO,777774
4885: POPJ P,
4886: PUSHJ P,WAIT1
4887: HLR JBUF,DEVBUF(DDB)
4888: XCTR XRW,[HRRM UUO,(JBUF)]
4889: HRRM UUO,DEVOAD(DDB)
4890: MOVSI TAC,IOUSE
4891: XCTR XRW,[IORM TAC,(JBUF)]
4892: POPJ P,
UUOCON page# 0143 next prev
4894:
4895:
4896:
4897: RELEA0:
4898: ↑RELEA3:
4899: TRZ UUO,-1
4900: ↑RELEA1:
4901: PUSHJ P,CLOSE1
4902: HRRZ TAC,DEVSER(DDB)
4903: CAIN TAC,(DSER)
4904: JRST RELE1A
4905: PUSHACS
4906: PUSH P,(DDB)
4907: MOVE TAC,DSER
4908: PUSHJ P,DISOCT
4909: PUSHJ P,DISMES
4910: ASCIZ / DSER CLOBBERED BY CLOSE1 AT RELEA1. /
4911: POP P,TAC1
4912: PUSHJ P,DISSIX
4913: PUSHJ P,DISTAB
4914: PUSHJ P,DISJOB
4915: PUSHJ P,DISCRLF
4916: POPACS
4917: MOVE DSER,DEVSER(DDB)
4918: RELE1A: PUSHJ P,WAIT1
4919: ↑RELEA5:
4920: PUSHJ P,DRL(DSER)
4921: MOVEI IOS,IOACT
4922: ANDCAB IOS,DEVIOS(DDB)
4923: SETZB DAT,USRJDA(UCHN)
4924: SKIPGE TAC,USRHCU(PID)
4925: MOVEI TAC,17
4926: RELEA4: HRRZ TAC1,USRJDA(TAC)
4927: JUMPN DAT,RELE4A
4928: MOVE DAT,TAC1
4929: MOVEM TAC,USRHCU(PID)
4930: RELE4A: CAIE TAC1,(DDB)
4931: SOJGE TAC,RELEA4
4932: JUMPGE TAC,CPOPJ
4933: HLLZS DEVIAD(DDB)
4934: HLLZS DEVOAD(DDB)
4935:
4936:
4937: ↑RELEA9:
4938: MOVE TAC,DEVNAM(DDB)
4939: CAME TAC,[SIXBIT /DSK/]
4940: CAME TAC,SYSTAP
4941: JRST RELEA7
4942: MOVSI TAC,777760
4943: ANDCAM TAC,DEVIAD(DDB)
4944: ANDCAM TAC,DEVOAD(DDB)
4945: SKIPN STUSER
4946: JRST RELEA7
4947: SETZM STUSER
4948: SOSL STREQ
4949: SETOM STAVAL
4950: RELEA7: MOVEI TAC1,ASSPRG
4951: ↑RELEA6:
4952: ANDCAB TAC1,DEVMOD(DDB)
4953: TRZ TAC1,777
4954: TDNE TAC1,[XWD TTYATC,ASSCON+ASSPRG]
4955: POPJ P,
4956: DPB TAC1,PJOBN
4957: MOVE TAC1,DEVCMR(DDB)
4958: TLNN TAC1,DEVSHR
4959: JRST RELDVW
4960: PUSH P,DAT
4961: PUSH P,DDB
4962: PUSH P,DSER
4963: HRRZ DSER,DEVSER(DDB)
4964: PUSHJ PDP,DGIVDD(DSER)
4965: POP P,DSER
4966: POP P,DDB
4967: POP P,DAT
4968: POPJ P,
UUOCON page# 0144 next prev
4970:
4971:
4972:
4973: RELDVW: PUSH P,DDB
4974: PUSH P,UUO
4975: PUSH P,DAT
4976: PUSH P,J
4977: HRRZS DDB
4978: MOVEI DAT,DVWSCAN
4979: JSP UUO,QSCAN
4980: JRST RELDVX
4981: CAME DDB,JBTDVW(J)
4982: JRST (AC1)
4983: MOVEI AC1,RUNQ
4984: MOVNM AC1,JOBQUE(J)
4985: PUSHJ P,REQUE
4986: RELDVX: POP P,J
4987: POP P,DAT
4988: POP P,UUO
4989: POP P,DDB
4990: POPJ P,
UUOCON page# 0145 next prev
4992:
4993:
4994:
4995:
4996:
4997:
4998:
4999:
5000:
5001: ↑USTATO:
5002: TRNE IOS,(UUO)
5003: AOS (PDP)
5004: POPJ PDP,
UUOCON page# 0146 next prev
5006:
5007:
5008:
5009:
5010:
5011:
5012:
5013:
5014:
5015: ↑USTATS:
5016: HRRZ TAC,IOS
5017: JRST STOTAC
UUOCON page# 0147 next prev
5019:
5020:
5021:
5022:
5023:
5024:
5025:
5026:
5027:
5028:
5029: ↑USTATZ:
5030: TRNN IOS,(UUO)
5031: AOS (PDP)
5032: POPJ PDP,
5033:
5034:
5035:
UUOCON page# 0148 next prev
5037:
5038:
5039:
5040: ↑TIN: PUSHJ PDP,IN
5041: TRNE IOS,IOBKTL+IODTER+IODERR+IOIMPM+IODEND
5042: AOS (PDP)
5043: POPJ PDP,
5044:
5045:
5046:
5047:
5048:
5049: ↑TOUT: PUSHJ PDP,UOUT
5050: TRNE IOS,IOBKTL+IODTER+IODERR+IOIMPM
5051: AOS (PDP)
5052: POPJ PDP,
5053:
5054:
UUOCON page# 0149 next prev
5056:
5057:
5058: SPCWGO: MOVEI UUO,(TAC)
5059: HLLZ UCHN,TAC
5060: HLR UCHN,TAC
5061: AND UCHN,[740000,,17]
5062: JRST SPCWG1
5063:
5064:
5065:
5066: USPCWAR:ANDI UCHN,17
5067: SPCWG1: MOVE TAC,JBTPRV(J)
5068: TLNE TAC,LUPPRV
5069: JRST SPWCON
5070: JRST UUOERR
5071: BEND APRSER
EOF: UUOCON end-of-file. cnt=148